【问题标题】:Proving a modification in Dijkstra's Algorithm [closed]证明 Dijkstra 算法的修改[关闭]
【发布时间】:2014-01-17 18:30:57
【问题描述】:

在 Dijkstra 算法中,我们计算路径长度以找到最短路径。 Dijkstra 算法的常规版本将路径长度计算为直到某个节点 v 的权重之和。 如果路径长度被计算为直到 v 的长度的总和 + 遍历到 v 的最大权重呢?

我在纸上进行了研究,发现它仍然有效。但是如何证明呢?

非常感谢您的帮助

【问题讨论】:

标签: algorithm graph-theory dijkstra shortest-path


【解决方案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。

【讨论】:

  • 有更简单的反例,但由于它们太容易找到,我希望通过“它仍然有效”,OP 的意思是“它找到了新定义的 'length' 下的最短路径"
猜你喜欢
  • 1970-01-01
  • 2017-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多