可以使用Bellman-Ford算法在只有正边的图上找到最短路径吗?

时间:2015-06-06 19:30:16

标签: algorithm graph-algorithm dijkstra bellman-ford

我知道Dijkstra的算法只能用于正边长度,而当图也有负数时,可以使用Bellman-Ford。

假设我们有一个只有正边的图。 Bellman-Ford会给Dijkstra带来相同的结果吗?

2 个答案:

答案 0 :(得分:2)

是的,它会给出相同的结果。但它会运行得更慢,因为它也可能用于具有负边缘的图形(可能没有负循环)。如果你看一下BF的正确性证明,就没有假设某些边缘是负的。

答案 1 :(得分:0)

我想在Ami Tavory的回答中添加一些内容。 Bellman-ford的算法可以更快一点,如果你可以在任何传递中检测到它,没有节点值更新,然后从那里返回。如果没有节点更新,则证明每个节点遍历都已完成。