广度优先搜索 BFS 动画

队列先进先出,一层一层向外扩散。蓝色脉冲是当前点,橙色闪光表示正在检查的方向。

学生演示版

地图与搜索过程

起点 终点 队列中 已访问 当前点 正在检查

代码同步执行

高亮行 = 当前动作
点击“单步执行”或“自动播放”开始。
当前坐标
队列长度1
访问数量1
当前层数0
搜索结果搜索中
执行步骤0
队列(左边是队头)
观察重点: 新格子在入队时就要标记为已访问,否则同一个格子可能被重复加入队列。 BFS 使用队列,先搜索距离起点为 1 的格子,再搜索距离为 2 的格子,因此第一次到达终点时就是最短路。