BFS 是 Breadth-First Search 的缩写,即广度优先搜索算法。这是一种图形搜索算法,用于在图中寻找最短路径或进行连通性分析。BFS 从根节点开始,沿着树的宽度遍历节点,确保所有节点都被访问,直到找到目标节点或遍历完所有可达节点。
BFS 的特点包括:
空间复杂度:O(|V| + |E|),其中 |V| 表示图中节点的数量,|E| 表示边的数量。
搜索过程:以一层一层、由近及远的顺序进行搜索。
实现方式:通常使用 open-closed 表来记录已访问和未访问的节点。
应用:在图论中用于解决最短路径问题、连通性分析等,也是其他算法如 Dijkstra 单源最短路径算法和 Prim 最小生成树算法的基础。