算法与数据结构之BFS广度优先遍历

算法与数据结构之BFS广度优先遍历

本文我们来讲解一下图的广度优先遍历算法(BFS),看完本文相信你对BFS算法的理解会更进一步。

BFS算法流程

核心思想:一层一层向外遍历,先访问起点所有相邻节点,再访问下一层,类似水波扩散

  • 初始化队列,将起点入队;创建访问标记数组 / 集合,标记起点已访问,防止重复遍历。
  • 队列不为空时循环: ① 队首节点出队,处理该节点(打印、记录结果等) ② 遍历该节点所有相邻邻居③ 邻居未被访问:标记已访问,并入队
  • 队列为空,遍历结束

例题

例子是最好的学习工具,接下来我们以这个图为例,来详细讲解一下BFS算法的基本流程。