- 29
- 0
- 约1.81万字
- 约 13页
- 2017-06-25 发布于河南
- 举报
五、回溯与分支
2.4 回溯(backtrack)
一、回溯算法的基本思想和适用条件
以系统的方法隐含搜索所有可能的解的技术称为回溯。回溯算法用于求解组
合搜索问题(包括优化问题)
例 1 八后问题
有 92 个解,每个解可以表示成一个 8 维向量,x , x , …, x , 其中 x 表示
1 2 8 i
第i 行放置皇后的位置(列号)。例如4,2,7,1,3,5,8,6, 表示第一行放在第4 列,…,
第八行放在第 6 列。使用回溯算法从1,1,…, 1开始,到8,8,…, 8为止,按照
字典顺序隐含搜索所有的解向量。所有的向量构成一棵树,称为搜索空间。
8
搜索空间的树有 8 层,最下层的节点数有 8 个,其中代表解的结点有 92 个。所
谓回溯就是按照深度优先的原则从根开始搜索这棵树,在搜索过程中不是真正遍
历所有的结点,如果发现向下搜索不可能达到解结点,就回头。
例 2 0-1 背包问题
V={12,
原创力文档

文档评论(0)