@iStarLee
2019-08-14T08:40:45.000000Z
字数 1142
阅读 411
navigation
Dijkstra’s algorithm can be used to determine the shortest path from one node in a graph to every other node within the same graph data structure, provided that the nodes are reachable from the starting node.
Dijkstra算法可用于确定从图中的一个节点到同一图数据结构中的其他节点的最短路径,前提是这些节点可以从起始节点到达。
该算法将继续运行,直到图中所有可达顶点都被访问,这意味着我们可以运行Dijkstra算法,找到任意两个可达节点之间的最短路径,然后将结果保存在某个地方。一旦我们只运行了一次迪杰斯特拉的算法,我们就可以一次又一次地从我们的算法中查找结果——而不必实际运行算法本身!我们唯一需要重新运行Dijkstra算法的时候是如果我们的图形数据结构发生了变化,在这种情况下,我们最终会重新运行该算法,以确保我们的特定数据结构仍然有最新的最短路径。
一个加权图如下
我们使用adjacent list来表示这个图,也可以用adjacent matrix来表示