- 15
- 0
- 约3.47万字
- 约 34页
- 2017-02-08 发布于湖北
- 举报
搜索与回溯算法要点
搜索与回溯算法
回溯算法 2
一、回溯法的思想 2
二、实现要点 2
三、应用举例 2
【例1】马的遍历 2
【例2】选书 5
四、回溯典型例子 7
【例1】八皇后问题 7
【例2】骑士遍历问题 12
五、递归中体现回溯 15
【例1】走迷宫问题 15
搜索算法 19
一、深度优先搜索 19
二、广度优先搜索 29
回溯算法
一、回溯法的思想
在求解一些问题(如走迷宫、地图着色等问题)时,题目的要求可能是求出原问题的一种或所有可能的解决方案。这类问题的解往往是由一个一个的步骤或状态所构成的,每一步骤又有若干种可能的决策方案;由于没有固定、明确的数学解析方法,往往要采用搜索的做法,即从某一个初始状态出发,不断地向前(即下一个状态)搜索,以期最终达到目标状态,从而得到原问题的一个解或所有的解。在搜索的过程中,由于问题本身及所采取的搜索方法的特点(如在缺乏全局及足够的前瞻信息的情况下进行搜索等),会导致走到某一状态就走不下去的情况,这时,就必须回头(即回到上一步,而不是回到最初的状态),再尝试其他的可能性,换一个方向或方法再试试。这样,不断地向前探索、回溯,再向前、再回溯,直至最终得出问题的解,或者一路回溯到出发点(出现这种情况即表示原问题无解)。注意,这种搜索过程并不是尝试搜索问题解空间中所有的可能状态和路径,而是采用深度优先的方式,沿着一条路径,尽可能深入地向前探索。
二
原创力文档

文档评论(0)