回溯算法

回溯算法

回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。

比如全排列问题,{1,2,3}全排列结果,则考虑选取一个数当做当前状态节点(第一位),然后对其进行扩展,扩展完成后返回到该节点,进行状态更换再扩展。

 

单词搜索问题:

board =
[
  ['A','B','C','E'],
  ['S','F','C','S'],
  ['A','D','E','E']
]

给定 word = "ABCCED", 返回 true.
给定 word = "SEE", 返回 true.
给定 word = "ABCB", 返回 false.





 

原文地址:https://www.cnblogs.com/lidan-prime/p/9055319.html