返回首页

广度优先搜索 高频追问 Q&A

1. Q: 无权图最短路为什么用 BFS?

A: 每层代表步数 +1,首次到达目标即最短路径。

2. Q: BFS 如何记录层数?

A: 队列存 (node, dist) 或按 size 分层循环。

3. Q: 网格 BFS 常见错误?

A: 越界判断漏写、访问标记时机错误(应在入队时标记)。

4. Q: BFS 能解决加权最短路吗?

A: 一般不能,需 Dijkstra/Bellman-Ford(特殊 0-1 权重可 0-1 BFS)。

5. Q: 双向 BFS 为什么快?

A: 从起点和终点同时扩展,搜索空间可显著降低。

6. Q: BFS 内存为什么常比 DFS 大?

A: BFS 需要同时存一整层节点。