负重边缘

时间:2016-03-31 18:27:50

标签: algorithm graph tree minimum-spanning-tree

完整的问题:争论如果图的所有边权重都是正的,那么连接所有顶点并具有最小总权重的任何边的子集必须是树。举一个例子来说明,如果我们允许一些权重是非正的,那么相同的结论就不会出现。

我的回答:由于边连接所有顶点,因此它必须是树。在图形中,您可以删除其中一条边并仍然连接所有顶点。此外,可以在图中允许负边(例如Prim和Kruskal的算法)。

如果对此有明确的答案,请告诉我,并向我解释你是如何得出结论的。我有点迷失这个问题。

2 个答案:

答案 0 :(得分:1)

首先,树是一种图形。因此,“在图形中,您可以删除其中一条边并仍然连接所有顶点”不成立。树是没有循环的图 - 即,任何两个节点之间只有一条路径。

通常,负数权重可以存在于树或图形中。

解决这个问题的方法是显示如果你有一个连接所有组件但不是树的图形,那么它也不是最小权重(即,还有一些其他图形做同样的事情这个结论只有在图形只包含正边缘时才有效,所以你还应该提供一个反例 - 一个不是树的图形,它是最小权重的,并且是完全连接的。 / p>

答案 1 :(得分:1)

对于非负权重,添加边缘以从一个节点遍历到另一个节点总是导致权重增加,因此对于最小权重,您总是避免这种情况。

如果允许负重量,添加边缘可能会减轻重量。如果你有一个整体负重的循环,最小重量要求你无限地停留在那个循环中(导致整个路径无限负重)。

相关问题