问题描述
假设有一个网格迷宫,由m行n列的单元格组成,每个单元要么是空地(用1来表示),要么是障碍物(用0来表示),问如何找到从起点到终点的最短路径。
例如图1所示:
网格迷宫的BFS树也成为最短路树如图二所示:
分析
步骤
- (1)将网格迷宫用二维数组存起来。
- (2)将第一个节点加入队列。
- (3)取队首节点,找到队首节点相邻的节点,加入队列(加入的顺序根据你查找的上下左右四个方向的顺序决定)。
- (4)将队首元素出队。
- (5)重复(3)(4)步骤,直到找到终点。
补充
- 为了记录路径,我们用一个path数组记录每一个节点的父节点。
代码

使用BFS算法解决从起点到终点在网格迷宫中的最短路径问题。通过构建二维数组表示迷宫,将起始节点入队,然后不断查找相邻节点并更新路径,直至找到终点。
最低0.47元/天 解锁文章
668

被折叠的 条评论
为什么被折叠?



