广度优先搜索算法与迷宫路径应用.pptx

3月30日下午C++算法(8)——广度优先搜索BFS

深度优先搜索(DepthFirstSearch)对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。举例:图的遍历遍历规则:深度优先,右手路径优先,不能重复遍历遍历的顺序是?(从A开始)

广度优先搜索(BreadthFirstSearch)从一个节点出发,先访问其直接相连的所有子节点,再访问其子节点相连的子节点,按层次顺序依次访问,直到访问到目标节点。举例:图的遍历遍历规则:广度搜索优先,右手路径优先,不能重复遍历遍历的顺序是?(从A开始)

举例如图所示的迷宫,从左上角(1,1)点开始,要求探测所有的点,并按如下规则进行。1.探测方向优先级:右下左上2.探测过的点不能重复探测,不能出边界3.每探测一个点即在探测的点上标记一个数字,数字从1开始标记,每次递增1。分别用深搜和广搜模拟探测过程,并写出探测后地图上标记数字的结果。

广度优先搜索基于队列、索引题型迷宫:最少步数、最短路径其他:基于索引的相关问题

练习1:刷油漆标记(BFS遍历)按照先向右,再向下,再向左,最后向上的顺序利用队列,头尾标记,循环探索

练习2:泉水淹没问题

练习3:迷宫最少步数思考如何用深度优先搜索实现?比较和BFS

练习4:迷宫最短路径

其他广搜应用:练习5:橘子腐烂问题练习6:骑士牛问题

文档评论(0)

1亿VIP精品文档

相关文档