【发布时间】:2023-04-11 05:57:01
【问题描述】:
给定一个有向图 G=(V,E) 和一个权重函数 w : E - > R+(只有图中边的正权重),我需要找到从 V 中的每个顶点 v 到的所有最短路径给定的顶点 k。
我考虑过反转图中的边,然后从顶点 k 运行 Dijkstra's algorithm。我想知道从 k 到 v1 的最短路径 p 实际上是否是原始图中从 v1 到 k 的最短路径(在反转边之前)。
如果有人能解释它是否发生以及为什么发生/没有发生,我将不胜感激。
提前致谢。
【问题讨论】:
-
我目前没有任何正式的东西,但是是的,你的想法应该不错。考虑一下如果图是无向的会发生什么:两条路径显然是相同的。您的建议基本上会导致无向图,因此两者是相同的。
-
我也是这么想的,不知道有没有某种情况不会发生。
-
这个的有效性直接来自于你通过反转边缘产生的对称性。你很好。
-
对于每个关于有向图的陈述,都有一个关于所有边反转的图的双重陈述。你的就是一个例子。
-
有些事情因为太明显而难以证明。 (我记得 Knuth 曾对此大肆咆哮。)这就是其中之一。
标签: algorithm graph dijkstra shortest-path