在Dijkstra的算法中,我们计算路径长度以找到最短路径。 Dijkstra算法的常规版本将路径长度计算为一些节点v的权重之和。 如果路径长度计算为长度达到v +最大权重的总和达到v?
,该怎么办?我已经在纸上研究过,发现它仍然有效。但我该如何证明呢?
非常感谢帮助
答案 0 :(得分:1)
如果“仍然有效”,则表示它会产生相同的最短路径,这是一个反例:
B --1-- C -- 1 -- D
| |
1 1
| |
S --3-- A ----1----
仅使用路径长度,从S到A的最短路径将通过从S到A的边缘 路径长度+最大权重,最短路径为S到B到C到D到A,(权重5)。 S到A的重量为6。