c++ - 使用 BFS 找到 2 个节点之间的最短路径

标签 c++ graph scheme graph-algorithm directed-acyclic-graphs

我是图论新手,需要一点帮助。假设我们有一个定义了开始和结束顶点的图。如何使用 BFS 仅在起点和终点之间获得最短路径。

我已经编写了一个程序来计算整个图中的最短路径,但是当我想“限制树”到只有开始到结束之间的这些顶点时,我不知道如何实现它。

任何帮助、伪代码、建议将不胜感激。

最佳答案

BFS 算法获取图中的一个顶点并计算从该顶点到所有其他顶点的最短路径。当到达某个顶点时,BFS 已经找到了到它的最短路径。因此,如果您只需要到该顶点的最短路径,则无需继续算法。当算法到达所需的顶点时,您应该完成算法。

关于c++ - 使用 BFS 找到 2 个节点之间的最短路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20738690/

相关文章:

c++ - Armadillo C++ : matrix initialization from array

c++ - 统一 SWI Prolog 中的动态谓词

c++ - Apple LLVM 下 Qt 4.8.4 QList 的奇怪崩溃

ios - 在商业应用程序的 iOS 中使用 CorePlot 是否有任何限制?

casting - 在 SICP 中创建强制程序

c++ - 通过继承减少模板膨胀

graph - 如何在密码查询中避免笛卡尔积并仍然在对象之间创建链接?

algorithm - 图的临界点 : reach all nodes in minimum number of points and weight

scheme - 截断(受限) Racket 中的列表

scheme - 无法对 Racket 中的用户输入使用 eval