如何在O(| V |)的无向图中找到u和v之间的所有最短路径?

时间:2014-12-21 13:13:29

标签: algorithm graph

图G是无向图,其所有边的权重相同。 u,v是2个给定的顶点,如何在图G中找到u和v之间的最短路径的数量 O(| V |)?

| V |代表G中的顶点数。

1 个答案:

答案 0 :(得分:1)

因为Dijkstra贪婪并且不断增加消耗路径。当稍后会发现负权重时,这可能意味着较早发现的路径不再是最短路径,因此Dijkstra失败。

示例:

A -> B (5)
A -> C (5)
C -> B (-10)

Dijkstra将发现A-> B(5)是从A到B的最短路径,但实际上,最短路径将是A-> B. C - > B(-5)