为什么在贝尔曼福特算法中允许负边缘?

时间:2010-11-29 18:50:38

标签: algorithm graph dijkstra

为什么在Bellman ford算法中允许负边循环,而在dijkstra算法中不允许负边?

2 个答案:

答案 0 :(得分:6)

允许? Bellman-Ford算法允许具有负权重的不同边(Dijkstra算法不支持),但两种算法都不允许“负”周期。在存在负循环时,最短路径问题毫无意义,因此在任何此类算法中都没有“允许”负循环的有意义方法。

Bellman-Ford算法可以检测是否存在负循环并中止执行(中止,因为在这种情况下不存在正确的解决方案)。

答案 1 :(得分:1)

到目前为止,您所有的问题似乎都是课堂问题。请参阅1.)教科书和2.)课堂笔记。您会在1个或两个地方找到明确记录的答案。