在这种情况下我们可以使用Dijkstra吗?

时间:2016-05-16 15:35:43

标签: algorithm graph computer-science

鉴于图表具有负权重,但我们知道肯定它没有负面周期:

为所有权重添加足够大的常量,使它们现在为正数,并使用Dijkstra算法找到最小路径。

如果我们没有负周期,上述是否正确?如果我们有负循环,我们就不能使用该算法,因为它需要重新访问标记为已完成的节点Dijkstra。

1 个答案:

答案 0 :(得分:5)

通过为所有权重添加常数,您应该使具有更多边缘的路径更加昂贵,并且具有更少边缘数量的路径相对更便宜,从而破坏原始问题。

即使没有负重量循环,你也不能申请Dijkstra。