【问题标题】:Does Dijkstra works for non-negative or positive weights?Dijkstra 是否适用于非负或正权重?
【发布时间】:2018-01-05 11:20:40
【问题描述】:

我知道为什么 Dijkstra 不适用于负权重,但允许 0 作为权重? 我认为如果两个节点的权重为 0,则可以消除连接这些节点的边,并将节点合并为一个。 这是正确的吗?还是我遗漏了什么?

【问题讨论】:

  • 注意non-negativepositive是一样的,0是一个正数。
  • 嗯,我喜欢认为 '0' 是无符号的,并且在我看来,正数意味着严格正数。
  • 没关系,但是当其他人说 “Dijkstra 适用于正权重” 时,这意味着它也适用于 0,因为对于他们来说,0 是正的,记住这一点。
  • 查询回答得很好。谢谢。很大的帮助。

标签: graph-algorithm shortest-path dijkstra


【解决方案1】:

是的,如果段的权重为零,我们可以删除它,如果那对点之间的所有段都为零,则可以将它们全部删除,并将两个点合并为一个!

希望这篇文章对你有所帮助!

【讨论】:

  • 扩展答案:通常的 Dijkstra 算法对于零加权边缘没有问题。即使不合并,它也会输出正确的结果。
猜你喜欢
  • 1970-01-01
  • 2012-10-20
  • 1970-01-01
  • 1970-01-01
  • 2011-10-11
  • 1970-01-01
  • 2019-01-05
  • 2020-06-28
  • 1970-01-01
相关资源
最近更新 更多