广度优先搜索
广度优先搜索(Breadth-First Search, BFS)是一种基于队列结构的搜索策略。
基本思想
从起始状态出发,逐层向外扩展,先探索所有距离当前状态为 1 的状态,再探索距离为 2 的状态,依此类推。
数据结构
使用队列(Queue)来存储待探索的节点:
- 先入队的节点先被扩展
- 同一层的节点按顺序探索
特点
- 保证找到最短路径:在无权图中,BFS 找到的第一个解一定是最优解
- 空间开销较大:需要存储当前层的所有节点
- 适用最少步骤问题:如迷宫最短路径、八数码问题等
应用场景
- 最短路径搜索(无权图)
- 层次遍历
- 连通分量检测

链接到
- 上一个知识点:5.2 深度优先搜索
- 下一个知识点:5.4 爬山法
- 相关知识点:图的广度优先搜索