0
假设Dijkstra从一个随机顶点运行,并且它在路径上满足负重循环。我们可以循环周期以使成本尽可能小,但Dijkstra的不变量不是“重新访问”访问节点,所以我想不会有无限循环,Dijkstra会终止?如果Dijkstra算法运行在负权重周期的有向图上,会发生什么情况?
假设Dijkstra从一个随机顶点运行,并且它在路径上满足负重循环。我们可以循环周期以使成本尽可能小,但Dijkstra的不变量不是“重新访问”访问节点,所以我想不会有无限循环,Dijkstra会终止?如果Dijkstra算法运行在负权重周期的有向图上,会发生什么情况?
问题不在于Dijkstra的算法不会终止,而在于Dijkstra的算法不适用于负权重图。请参阅this answer以解释原因。
但是,有没有一种方法来检测使用Dijkstra图中的负循环呢? – Mariska 2013-03-24 05:50:20
@Mariska你不应该在可能具有负权重的图表上运行Dijkstra's。所以,不,没有。 – Xymostech 2013-03-24 05:55:05