58

这是为什么大多数图算法不那么容易适应负数的后续问题?.

我认为最短路径 (SP) 存在负权重问题,因为它会将路径上的所有权重相加并试图找到最小的权重。

但我不认为最小生成树(MST)有负权重的问题,因为它只需要单个最小权重边缘而不关心整体总权重。

我对吗?

4

3 回答 3

77

是的你是对的。MST 的概念允许任意符号的权重。寻找 MST 的两种最流行的算法(Kruskal's 和 Prim's)可以很好地处理负边缘。

实际上,您可以为图形的所有边添加一个大的正常数,使所有边为正。MST(作为边的子集)将保持不变。

于 2012-05-02T12:54:21.247 回答
3

是的,你是对的,因为如果你看到像 dijkstera 这样的最短路径算法,它会检查顶点 v 的当前距离是否大于当前值 + 边权重的总和,那么它将改变顶点 v 到 s 的距离值总和值,如果边缘权重为负,则会出现一些问题。

但是在 MST 问题中,有像 prims,kruskal 这样的算法,它们只采用最小权重边,使负边符合 MST 的条件。

于 2017-02-13T08:05:19.990 回答
-5

是的,你是对的 Prim 的算法与 dijkstra 的算法一样工作,但在 prim 的算法中,它不应该计算从 i 到 j 的最短路径有负边。因此,他们的另一种算法是他们的贝尔曼福特算法,用于计算从 i 到 j 的最短路径,具有负边缘。

因此 prim 和 Kruskal 的算法并不害怕负边缘。

于 2019-02-27T17:50:53.850 回答