是否有任何最小生成树在某个周期中包含最大权重边缘?

时间:2016-10-28 01:59:17

标签: algorithm minimum-spanning-tree

原点问题来自算法简介的练习。

23.1-5让e成为连续图G=(V, E)的某个周期的最大权重边。证明存在G'=(V, E - {e})的最小生成树,它也是G的最小生成树。也就是说,G的最小生成树不包含e

问题是:我认为命题 G的所有最小生成树都不包含e是正确的。 e是某个周期中唯一的最大权重边。是吗?

更新:2016-10-28 20:21

在某个周期中添加e 唯一一个最大权重边缘的限制。

2 个答案:

答案 0 :(得分:3)

一个测试用例是当节点标记为0..n-1并且仅在节点i和节点(i + 1)mod n之间存在链接(即,环)。在这种情况下,通过仅省略其中一个链接来创建最小生成树。如果e是唯一的最大权重边缘,则它不在唯一的生成树中,这是所有其他链接。如果存在多个最大权重边缘,则存在尽可能多的不同最小生成树,因为存在最大权重的边缘,每个边缘都留下不同的最大权重边缘并保持其他边缘。

考虑最大重量只有一个边缘的情况。假设有人向您提供使用此边缘的最小生成树。从树中删除它,为您提供两个断开连接的组件。现在尝试一次一个地添加循环中的每个其他边。如果边缘没有连接两个组件,请再次删除它。如果任何边缘连接两个组件,则生成树的权重比以前小,因此它不能是最小生成树。是否可以没有边缘连接这两个组件?添加不连接两个组件的边缘并不会增加从任一组件可到达的节点集,因此如果没有单个边连接这两个组件,则同时添加所有这些组件会赢得“无法连接”。吨。但我们知道添加所有这些边缘会添加一条连接由前一个最大权重边连接的两个节点的路径,因此其中一个边必须连接这些组件。所以我们原来所谓的最小生成树不是,并且在一个循环中具有唯一最大权重的边缘不能成为最小生成树的一部分。

答案 1 :(得分:2)

您的猜测是正确的: G的所有最小生成树不包括e是正确的。

首先,我们需要证明: e不是横切G的亮边。

让C代表任何切割e的切口,因为e处于循环中,所以e并不是任何这些切口的亮边,而其他所有切口都不会有e的边缘,我们就不会也不要让任何一个切口的边缘都很轻。

那么我们需要证明: 如果e不是与G的任何割线交叉的亮边,则G的所有最小生成树都不包括e。 恰好是23.1-3的逆命题。

相关问题