最小生成树重要的性质及其证明

来源:互联网 发布:洋仆淘软件 编辑:程序博客网 时间:2024/04/30 05:28

今天看书的时候终于看懂了一个证明,证明一直是我比较弱的方面,虽然这个证明比较简单,但能看懂还是挺有用的。


性质1:一个无向图G,如果它的的边权都不相同,那么它的最小生成树唯一;

证明:假设T1,T2是G的两棵最小生成树,其边集为E(T1) = {e1,e2,...,en-1}且按边权值从小到大排序(ei >= ei-1),E(T2) = {f1,f2,...fn-1}且按边权值从小到大排序(fi >= fi-1);设k是第一个使ek != fk的下标,不妨设fk > ek,将ek加入到T2中,则T2必定存在一个含边ek环,且在环中必定存在一条边fj,且fj > ek,否则将导致子集{f1,f2,...,fk-1,ek}已构成环与T1是生成树的矛盾。由此T2U{ek} \{fj}也是一棵生成树,而且这棵最小生成树的权值小于T2,这与T2是图G的最小生成树矛盾。故不存在k使得ek != fk,即图的最小生成树唯一;同时可以得到,一个图的最小生成树的权值边表是唯一的。


以上是书中的证明,刚开始看的时候一直搞不懂为什么将ek加入到E(T2)中构成环后,环中一定存在一条边fj > ek(j > k),其实仔细观察可以发现,因为k是第一个使ek != fk的下标,也就是说在证明中假设的E(T1),E(T2),一定是fi = ei(1 <= i <= k - 1),因为E(T1),E(T2)都是最小生成树,那么它们不存在环,那么E(T1)中{e1,e2...,ek-1,ek}中也不会存在环,同理E(T2)中{f1,f2,...,fk-1,ek}也不会存在环,所以当E(T2)加入边ek后构成的环中,一定存在一条边fj > ek(j > k);然后就将fj去掉,就会形成一棵边权值更小的最小生成树,这与假设矛盾,命题得证;