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

use*_*401 0 algorithm graph dijkstra

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

AnT*_*AnT 6

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

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