证明子图是最小生成树

时间:2018-10-31 02:31:03

标签: algorithm graph-theory minimum-spanning-tree

给出:

G = (V,E)
T is an MST of G
G'=(V', E') ⊆ G
T' is an MST of G'

证明:

(V',E∩T) is a subgraph of T'

Under what conditions is E∩T an MST of G'?

边缘权重不必不同。

我的方法:

通过将Kruskal算法应用于E∩T中的边,将以权重的升序连接边,同时确保连接不会产生循环。这样会产生 an MST,但是可以证明这个MST是T'的子图吗?

这种方法有意义吗?由于我没有使用TG的MST的事实,因此我有一种直觉,就是我忽略了一些重要的东西。

1 个答案:

答案 0 :(得分:2)

第一个观察结果:节点数为|V'|且边数为|V'|-1以外的任何图都不是树,因此一个必要条件是:|E∩T| = |V'|-1

第二个观察结果:如果T'G'的MST,则其边缘之和在G'的所有其他可能的生成树中最小。这意味着如果(V', E∩T)G'的MST,则其边之和必须等于T'的边之和

根据上述观察,(V', E∩T)成为G'的MST的充要条件是:
1. |E∩T| = |V'|-1
2. sumofweigths((V', E∩T))=sumofweights(T')

因此,基本上您需要做的是计算E∩T中的边数并与|V'|-1比较,还计算T'中的边权重之和并与之比较E∩T

中的边权重之和

但是我对此行有些怀疑:(V',E∩T) is a subgraph of T'
由于T'也有V'个节点,因此T'本身之外的T'的任何子图都不会是树,如果不是树,则不可能是树。 MST。可能是(V',E∩T) is a subgraph of G'(V',E∩T) is a subgraph of T,而不是(V',E∩T) is a subgraph of T'