我有一项家庭作业,我应该找到两个城市之间最便宜的机票,并考虑中途停留。
我们需要使用邻接矩阵和 Dijkstra 算法。我正在查看我书中的算法,以及维基百科(以及其他网站)。我很困惑,因为在算法的参数中它有:
DijkstraAlgorithm(weighted simple digraph, vertex first)
我很难理解 - 特别是在查看整个伪代码时 - 为什么它只需要一个顶点作为参数?我需要找到两个顶点之间最便宜的机票(最短路径)。为什么算法只需要一个?
最佳答案
Dijkstra 将找到从提供的顶点(在您的示例中为 first
)到图中的每个 顶点的最短路径。这就是为什么它只需要一个顶点作为输入。
关于c++ - 使用 Dijkstra 算法在邻接矩阵中查找最短路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8379866/