怎么证明权重不相同的加权无向图的最小生成树是唯一的 (图论)

转自:https://blog.csdn.net/liangzhaoyang1/article/details/51602926

 


 

设G是所有边权均不相同的无向联通图。

证明一:

首先,易证图G中权值最小的边一定是最小生成树中的边。(否则最小生成树加上权值最小的边后构成一个环,去掉环中任意一条非此边则形成了另一个权值更小的生成树)。

之后用反证法,假设G存在俩个不同的最小生成树

①.设G的俩个不同的最小生成树T1 T2,设这俩颗生成树的并集为子图G1,G1为连通图且T1 T2显然为G1的最小生成树,由首先可得知俩颗生成树至少包含一条公共边,将G1中两颗生成树的公共边删去,得到子图G2。G2由一个或多个连通分量组成,其中至少有一个连通分量的最小生成树不唯一(否则若所有连通分量的最小生成树唯一,则将删掉的公共边加上,则T1等于T2,这与假设相矛盾)。

②.对其中一个最小生成树不唯一的连通分量设为H,若H中点数>2,重复①的操作。否则H中只有俩个点,由于所有边权值不同,显然最小生成树唯一,这与①中的最后一句相矛盾。

综上,所有边权均不相同的无向图最小生成树是唯一的。

 

 

证明二:

设T,T’为G的俩个最小生成树,设T的边集E(T)={e1,e2,...,em},T'的边集E(T')={e'1,e'2,...,e'm}。

设ek满足ek≠e'k且k最小,由于所有边权值不同,不妨假设weight(ek)<weight(ek'),则将ek加入到T',T'中构成环,易知环中不包含e'1,e'2,...,e'k-1(否则在T中有包含ek的环),将环中任意非ek边删掉后得到了权值更小的生成树,这与T‘为最小生成树相矛盾,故G最小生成树唯一。


还有一个更强的结论:同一个图不同最小生成树的边权重序列相同。

 

上一篇:创建一个OpenGL窗口


下一篇:sshpass实现批量基于ssh的key部署