约翰逊算法-负周期检查

时间:2018-08-23 04:11:02

标签: graph-algorithm

我正在使用BellmanFord算法来检查Johnson算法的负周期。

问题是我添加了权重为零的额外节点后,修改后的图报告了一个负周期,而没有多余边的原始图没有任何负周期。

我的问题是这是否可能发生?如果是,如何在Johnson算法中检测负周期?

Original Graph & Modified Graph

1 个答案:

答案 0 :(得分:1)

如果图形没有负周期或根本没有周期,那么添加节点并将权重边为零的节点连接到原始图形将不会添加周期,尤其是没有负周期。

但是我不确定这不是误会。如果仅将零权重边添加到连接两个已经存在的节点的图,则可能会添加负循环。 仅对仅具有负边缘权重的树进行成像。它没有周期。但是,如果添加零权重的边,则会关闭一个循环,并且由于边权重均为负,因此循环的长度也将为负。

我认为,在Johnson算法的情况下,您会将新节点的边缘添加到所有个现有节点。因此,这将无法关闭任何周期,因为您再也不会回到新节点了。