- 4
- 0
- 约1.51千字
- 约 28页
- 2021-09-02 发布于湖南
- 举报
(Suitable for teaching courseware and reports);1八皇后问题背景
2盲目的枚举算法
3加约束的枚举算法
4回溯法及基本思想
5 回溯法应用
6八皇后问题的递归回溯算法
7八皇后问题的非递归回溯算法
;【背景】 八皇后问题是一个以国际象棋为背景的问题:
如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。
;八皇后问题;【问题分析】;枚举得有个顺序,否则轻则有漏的、重复的;重则无法循环表示。;1.按什么顺序去查找所有的解 a.盲目的枚举算法 void main() { int x[100]; for (x[1]=1;x[1]=10;x[1]++) for (x[2]=1;x[2]=10;x[2]++) for (x[3]=1;x[3]=10;x[3]++) for (x[4]=1;x[4]=10;x[4]++) for (x[5]=1;x[5]=10;x[5]++) for (x[6]=1;x[6]=10;x[6]++) for (x[7]=1;x[7]=10;x[7]++) for (x[8]=1;x[8]=10;x[8]++) if (check(x)==0) { printf(x); } };该如何解决冲突的问题呢?
1.行;我们是按照行枚举的,保证了一行一个皇后;
2.列:判断是否存在x[i]=x[j]
3.对角线:主对角线的i-j与从对角线的i+j存在特殊关系,如图:
;盲目的枚举算法;盲目的枚举算法;有“通用的解题法”之称。
回溯法的基本做法是搜索,或是一种组织得井井有条的,能避免不必要搜索的穷举式搜索法。这种方法适用于解一些组合数相当大的问题。
回溯法在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。算法搜索至解空间树的任意一点时,先判断该结点是否包含问题的解。如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向其祖先结点回溯;否则,进入该子树,继续按深度优先策略搜索。;求问题所有解:要回溯到根,且根结点的所有子树都已被搜索遍才结束。
求任一解:只要搜索到问题的一个解就可结束。;1 回溯算法设计过程;2 回溯法应用-加约束的枚举算法;只要当前枚举到的状态可行,就继续枚??下去。当找到一种方案或者无法继续枚举下去时,就退回到上一状态。退回到上一状态的过程叫做回溯,枚举下一个状态的过程叫做递归。
回溯就是像人走迷宫一样,先选择一个前进方向尝试,一步步试探,在遇到死胡同不能再往前的时候就会退到上一个分支点,另选一个方向尝试,而在前进和回撤的路上都设置一些标记,以便能够正确返回,直到达到目标或者所有的可行方案都已经尝试完为止。
;2 回溯法应用-例1 b加约束的枚举算法;我们可以依次确定每一行皇后的位置;2 例1 b加约束的枚举算法;2 回溯法应用-算法说明;2 回溯法应用-n皇后问题;2 回溯法应用-算法框架-递归算法框架;;演讲结速,谢谢观赏!;PPT常用编辑图使用方法;;;;
您可能关注的文档
最近下载
- 核医学教学课件:血液和淋巴显像.ppt VIP
- 重庆市各地方周氏支族源流(1-170支族).doc VIP
- 建筑工程质量管理体系流程图.docx
- 淋巴系统核医学检查课件.ppt VIP
- (高清版)B-T 6003.1-2022 试验筛 技术要求和检验 第1部分:金属丝编织网试验筛.pdf VIP
- (已压缩)TUCST007-2020房屋建筑与市政基础设施工程施工安全风险评估技术标准.docx VIP
- 2026年国家公务员考试申论真题及参考答案(考生回忆版).docx VIP
- 部编版语文二年级上册期中常考七大重点题型专项训练.docx VIP
- 机器人操作系统(ROS)及仿真应用 课件全套 第1--9章 Linux Ubuntu入门基础--- 基于ROS的服务机器人应用实例.ppt
- 压疮的预防及护理技术操作考核评分标准编辑.docx VIP
原创力文档

文档评论(0)