本文我们来讲解一下图的广度优先遍历算法(BFS),看完本文相信你对BFS算法的理解会更进一步。
BFS算法流程
核心思想:一层一层向外遍历,先访问起点所有相邻节点,再访问下一层,类似水波扩散
- 初始化队列,将起点入队;创建访问标记数组 / 集合,标记起点已访问,防止重复遍历。
- 队列不为空时循环: ① 队首节点出队,处理该节点(打印、记录结果等) ② 遍历该节点所有相邻邻居③ 邻居未被访问:标记已访问,并入队
- 队列为空,遍历结束
例题
例子是最好的学习工具,接下来我们以这个图为例,来详细讲解一下BFS算法的基本流程。