当前位置:文档之家› 回溯算法1

回溯算法1

一;算法思想
回溯算法将搜索空间看作一定的结构,通常为树形结构,一个解对应于树中的一片树叶。

算法从树根出发,尝试所有可达的节点。

当不能前行时,就后退一步或若干步,再从另一个节点继续搜索,直到所有的节点都试过。

回溯算法遍历一棵树可以用深度优先,宽度优先或宽度—深度结合等多种方法。

为加快搜索,人们又给出了分支界限等各种在树中剪枝的方法,以改善算法的运行时间。

简单来说,回溯是一种遵照某种规则,跳跃式的搜索解空间的技术。

二:实例演示
n 皇后问题(这里是四皇后问题)
n 皇后问题是将n 个皇后安排在n*n 的正方形中且n 个皇后中在同一行,即同一列和同一主对角线,副对角线不能有两个及其以上的皇后,试给出所有的放置方法。

树的深度代表正方形的行,每个节点都有四个子叶从左到右代表正方形的列,四个皇后用A 、B 、C 、D 表示。

回溯
尝试下一个可能(二行四列)
继续回溯 继续回溯。

相关主题