【问题标题】:Can we apply the Bellman-Ford algorithm to an Undirected Graph?我们可以将 Bellman-Ford 算法应用于无向图吗?
【发布时间】:2013-01-24 23:26:54
【问题描述】:

我知道 Bellman-Ford 算法适用于有向图。它适用于无向图吗?似乎对于无向图,它将无法检测循环,因为平行边将被视为循环。这是真的还是假的?算法可以应用吗?

【问题讨论】:

  • 看看this一个。

标签: algorithm data-structures graph graph-algorithm bellman-ford


【解决方案1】:

事实上,任何无向图也是有向图。

您只需指定任何边 {u, v} 两次 (u, v) 和 (v, u)。

但不要忘记,这也意味着任何具有负权重的边都将被视为一个循环。 由于 Bellman-Ford 算法仅适用于不包含任何具有负权重的循环的图,这实际上意味着您的无向图不得包含任何具有负权重的边。

如果使用 Bellmann-Ford 不是很好。

【讨论】:

  • 详细说明 - 由于图必须只有非负边,这意味着您可能只想使用 Dijkstra 算法,因为它渐近更快。
  • 我也有同样的疑问。谢谢你的澄清。
  • 很好的答案,感谢您的澄清
【解决方案2】:

Bellman-Ford 不适用于在包含负循环的图上寻找最短路径,但它在图上找到最短路径,并且可以检测图是否包含负循环,虽然它不会找到最短路径,因为没有有这样的路径。

【讨论】:

  • 由于输入错误而预期输出错误并不能使算法解决问题。我觉得 mikyra 的回答已经正确地总结了情况。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-04
  • 2020-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-25
  • 1970-01-01
相关资源
最近更新 更多