c++ - 使用 Dijkstra 算法在邻接矩阵中查找最短路径

标签 c++ graph dijkstra

我有一项家庭作业,我应该找到两个城市之间最便宜的机票,并考虑中途停留。

我们需要使用邻接矩阵和 Dijkstra 算法。我正在查看我书中的算法,以及维基百科(以及其他网站)。我很困惑,因为在算法的参数中它有:

DijkstraAlgorithm(weighted simple digraph, vertex first)

我很难理解 - 特别是在查看整个伪代码时 - 为什么它只需要一个顶点作为参数?我需要找到两个顶点之间最便宜的机票(最短路径)。为什么算法只需要一个?

最佳答案

Dijkstra 将找到从提供的顶点(在您的示例中为 first)到图中的每个 顶点的最短路径。这就是为什么它只需要一个顶点作为输入。

关于c++ - 使用 Dijkstra 算法在邻接矩阵中查找最短路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8379866/

相关文章:

haskell - 确保数据的正确性

c++ - 结构的指针以及如何访问元素

c++ - 如何在 Windows 中没有控制台窗口的情况下从 C++ 应用程序中删除文件?

javascript - 莫里斯线图设置数据方法无法正常工作

c++ - 在 Lemon 图形库中使用 Dijkstra 算法

algorithm - 我可以在一致的启发式/统一成本/Dijkstra 搜索下修改标准 A*(A 星),以便它不必更新边界吗?

python - 是否可以修改此代码以使优先级队列在 O(logn) 时间内减少其 key ?

C++,概念不适用于无符号整数作为结果类型?

c++ - 如何将列表中的所有元素移动到数组或 vector 或其他任何内容

algorithm - 在时间 O(|E| + |V|) 内找到从有向图的一个顶点可达的所有顶点