迷宫:广度优先搜索求最短路径
2016-09-07 18:47
169 查看
maze[][]为迷宫,visit[][]为访问记录,mazec[][]为步数记录
将起点入队列,并设置状态
循环访问迷宫,当到达迷宫出口或者队列为空找不到出口时结束搜索
对于当前出队列的点A,按顺序检查其右、下、左、上四个方位是否未访问并且可达,若符合条件,四个方位的点都入队列(四个if)
将该方位点入队列
将该点置为已访问
将该点的步数置为点A的步数+1
方位探查结束后,队尾出队
取得出队的点A的位置
返回记录行走迷宫路线的mazec[row][col]的终点值
将起点入队列,并设置状态
循环访问迷宫,当到达迷宫出口或者队列为空找不到出口时结束搜索
while(!(i==row && j==col ) || !(path.isEmpty()))
对于当前出队列的点A,按顺序检查其右、下、左、上四个方位是否未访问并且可达,若符合条件,四个方位的点都入队列(四个if)
if(maze[i][j+1] == 0 && visit[i][j+1] == false)
将该方位点入队列
将该点置为已访问
将该点的步数置为点A的步数+1
node = path.poll();//出队 i = node.x; j = node.y;//定位出队的点的位置
方位探查结束后,队尾出队
取得出队的点A的位置
返回记录行走迷宫路线的mazec[row][col]的终点值
相关文章推荐
- 迷宫问题(广度优先搜索,输出最短路径)
- 广度优先搜索--迷宫最短路径--队列
- (广度优先搜索第一课)迷宫的最短路径 - BFS
- 广度优先搜索迷宫的最短路径走法!
- 《挑战程序设计比赛》 P35 题目:迷宫的最短路径 广度搜索
- c语言描述之广度优先搜索——无权最短路径
- 图论(三)------广度优先搜索与单源无权最短路径
- BFS-迷宫问题-用宽度(广度)优先搜索解决最优路径问题
- (原创)广度优先搜索解决最短路径问题
- 广度优先搜索 最短路径 队列
- 宽度优先搜索——迷宫的最短路径
- 迷宫最短路径的C++实现(队列:广度优先)
- 迷宫最短路径的C++实现(队列:广度优先)
- 白书2.1.5宽度优先搜索(迷宫的最短路径)
- 广度优先搜索之最短路径
- 迷宫最短路径 深度优先搜索—C—python
- 最短路径条数问题 - 广度优先搜索
- BFS-迷宫问题-用宽度(广度)优先搜索解决最优路径问题
- 广度优先搜索迷宫路径算法的实现
- 从拓扑排序到广度优先搜索到单源最短路径