广度优先搜索 高频追问 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 需要同时存一整层节点。