ACM算法设计-BFS(广度搜索)-DFS入门(深度搜索)详解课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《ACM算法设计-BFS(广度搜索)-DFS入门(深度搜索)详解课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ACM 算法 设计 BFS 广度 搜索 DFS 入门 深度 详解 课件
- 资源描述:
-
1、2022-11-14ACM算法设计BFS(广度搜索)-DFS(深度搜索)详解BFS算法 by plato3复习复习DFS算法算法思想:一直往深处走,直到找到解或者走不下去为止框架:DFS(dep,)/dep代表目前DFS的深度 if(找到解|走不下去了)return;枚举下一种情况,DFS(dep+1,)4DFS的遍历方式HALIFBCDEJGKS5存在其他的遍历方式?6BFS的思想1.从初始状态S开始,利用规则,生成下一层的状态。2.顺序检查下一层的所有状态,看是否出现目标状态G。否则就对该层所有状态节点,分别利用规则。生成再下一层的所有状 态节点。3.继续按上面思想生成再下一层的所有状态节
2、点,这样一层一层往下展开。直到出现目标状态为止。按层次的顺序来遍历搜索树7BFS框架通常用队列(先进先出,FIFO)实现初始化队列Q.Q=起点s;标记s为己访问;while(Q非空)取Q队首元素u;u出队;if(u=目标状态)所有与u相邻且未被访问的点进入队列;标记u为已访问;88123456781234567入口入口出口出口 寻找一条从入口到出口的通路寻找一条从入口到出口的通路迷宫问题9东南北(上上)西(左左)前进方向:上前进方向:上(北北)、下、下(南南)、左、左(西西)、右、右(东东)n首先从下方开始,按照逆时针方向搜索下一步首先从下方开始,按照逆时针方向搜索下一步可能前进的位置可能前进
3、的位置迷宫问题-DFS10入口出口 在迷宫周围加墙,避免判断是否出界在迷宫周围加墙,避免判断是否出界81234567812345679090迷宫问题-DFS1181234567812345679090 在寻找出口的过程中,每前进一步,当在寻找出口的过程中,每前进一步,当前位置入栈;每回退一步,栈顶元素出前位置入栈;每回退一步,栈顶元素出栈栈栈栈(1,1)(1,1)迷宫问题-DFS12i81234567812345679090栈栈(1,1)(1,1)(2,1)(2,1)向下方前进一步向下方前进一步迷宫问题-DFS13i81234567812345679090栈栈(1,1)(1,1)(2,1)(2
4、,1)i(3,1)(3,1)向下方前进一步向下方前进一步迷宫问题-DFS14ii81234567812345679090栈栈(1,1)(1,1)(2,1)(2,1)(4,1)(4,1)(3,1)(3,1)i 向下方前进一步向下方前进一步break迷宫问题-DFS15iiii81234567812345679090栈栈(1,1)(1,1)(2,1)(2,1)(5,1)(5,1)(3,1)(3,1)(4,1)(4,1)向下方前进一步向下方前进一步break迷宫问题-DFS16iiiii 81234567812345679090栈栈(1,1)(1,1)(2,1)(2,1)(6,1)(6,1)(3,1
5、)(3,1)(4,1)(4,1)(5,1)(5,1)向下方前进一步向下方前进一步break迷宫问题-DFS17iiiiii迷宫问题迷宫问题(续续)81234567812345679090栈栈(1,1)(1,1)(2,1)(2,1)(7,1)(7,1)(3,1)(3,1)(4,1)(4,1)(5,1)(5,1)(6,1)(6,1)向下方前进一步向下方前进一步break18iiiiii 81234567812345679090向下方、右方、左方均不能前进,上方是来路,则后退栈栈(1,1)(1,1)(2,1)(2,1)(7,1)(7,1)(3,1)(3,1)(4,1)(4,1)(5,1)(5,1)(
6、6,1)(6,1)break迷宫问题-DFS19iiiii 81234567812345679090栈栈(1,1)(1,1)(2,1)(2,1)(3,1)(3,1)(4,1)(4,1)(5,1)(5,1)(6,1)(6,1)向右方、左方均不能前进,下方路不通,上方是来路,则后退break迷宫问题-DFS20iiiii81234567 0981234567812345679090栈栈(1,1)(1,1)(2,1)(2,1)(3,1)(3,1)(4,1)(4,1)(5,1)(5,1)(5,2)(5,2)n向右方前进一步向右方前进一步break迷宫问题-DFS21iiiiii 81234567812
7、345679090n下方路不通,向右方前进一步下方路不通,向右方前进一步栈栈(1,1)(1,1)(2,1)(2,1)(3,1)(3,1)(4,1)(4,1)(5,1)(5,1)(5,3)(5,3)(5,2)(5,2)break迷宫问题-DFS22iiiiiii81234567 0981234567812345679090 向下方前进一步栈栈(1,1)(1,1)(2,1)(2,1)(3,1)(3,1)(4,1)(4,1)(5,1)(5,1)(6,1)(6,1)(5,2)(5,2)(5,3)(5,3)break迷宫问题-DFS23iiiiiii 81234567812345679090n下方路不通
8、,向右方前进一步下方路不通,向右方前进一步栈栈(1,1)(1,1)(2,1)(2,1)(3,1)(3,1)(4,1)(4,1)(5,1)(5,1)(6,4)(6,4)(5,2)(5,2)(5,3)(5,3)(6,3)(6,3)ibreak迷宫问题-DFS24iiiiiiiii 81234567812345679090n下方路不通,向右方前进一步下方路不通,向右方前进一步栈栈(1,1)(1,1)(2,1)(2,1)(3,1)(3,1)(4,1)(4,1)(5,1)(5,1)(6,5)(6,5)(5,2)(5,2)(5,3)(5,3)(6,3)(6,3)(6,4)(6,4)break迷宫问题-DF
9、S25iiiiiiiiii81234567 0981234567812345679090 向下方前进一步栈栈(1,1)(1,1)(2,1)(2,1)(3,1)(3,1)(4,1)(4,1)(5,1)(5,1)(7,5)(7,5)(5,2)(5,2)(5,3)(5,3)(6,3)(6,3)(6,4)(6,4)(6,5)(6,5)break迷宫问题-DFS26iiiiiiiiiii 81234567812345679090 向下方前进一步栈栈(1,1)(1,1)(2,1)(2,1)(3,1)(3,1)(4,1)(4,1)(5,1)(5,1)(8,5)(8,5)(5,2)(5,2)(5,3)(5,3
展开阅读全文