Dijkstra的算法对称吗?

时间:2019-10-18 15:49:54

标签: algorithm graph-algorithm

在Dijkstra算法中找到正加权图中的最短路径时,是否存在路线A-> B不等于路线B-> A的情况? (A和B是图形上的顶点)。你能举个例子吗?

1 个答案:

答案 0 :(得分:1)

如果图形不是有向图,则从ABS_{ab})的最短路径的集合与从B到{的最短路径的集合相同{1}}(A)。您可以通过矛盾证明这一点。

假设不是。因此,从S_{ba}P至少有一条路径B不在A中。 由于图形不是有方向的,因此从S_{ab}A的路径是相同的。如果路径的长度大于B中的所有路径,那么它不是从S_{ab}B的最短路径,因为您可以从A返回到{{ 1}},其中路径之一位于B中的最短路径中。

此外,如果A的长度小于S_{ab}中路径的长度,那么我们可以从PS_{ab},而花费的成本少于全部A中的路径。因此,根据集合的定义,B必须位于S_{ab}中。但是,它与假设相矛盾。因此,这是不可能的。