- 1
- 0
- 约6.49千字
- 约 5页
- 2026-06-04 发布于河南
- 举报
csp信奥赛C++搜索进阶之双向BFS
一、双向广度优先搜索(双向BFS)
1.1算法原理
双向广度优先搜索是BFS的一种优化算法。传统的单向BFS从起点出发,向四周逐层扩展,直到找到终点,搜索空
间随着步数指数级增长(约,其中为最短路径长度)。而双向BFS同时从起点和终点两个方向出发,分别
进行BFS搜索,直到两个方向的搜索树相遇,此时拼接出来的路径即为最优解。
从搜索量的角度对比:假设最短路径长度为,每步扩展个节点。单向BFS需要搜索量级的节点,而双向BFS
只需要搜索约个节点,搜索规模从指数级降低到平方根级。以为例,双向比单向快约
倍。
1.2适用条件
原创力文档

文档评论(0)