1.反向删除算法
G<V,E>是连通图,删除环(如果有)上权最大边得G2,存在最小生成树属于G2
证明:假定最小生成树存在此边e,删除e,出现两个连通分支,必然环上有另一边横跨连通分支,且不属于此生成树(否则成环),连接该边,得新的最小生成树,不包含e,所以属于G2.
&&&(其实若权最大边严格大于其他边,那么最小树一定不包含他)
已经有两颗最小生成树(森林),如何用反向生成合并他们呢(红色是未选择的边)
如果两棵生成树由反向生成算法产生,那么下面可以视为中间过程,继续实施反向删除算法即可得到最小生成树,(可是生成树可以由其他方式生成,prim,kruskal,所以现在证明任一棵最小生成树可通过反向删除产生)
因为黑边权<=红边权(由&&&得),红边是最大权边,施行反向删除得最小生成树
现在可以回答这个问题了,假如已经有最小生成树构成的森林,对于其中两棵最小生成树,我们只要连接他们之间的边,再进行反向删除,这样两两合并,形成最后的最小生成树。
也可以把所有树之间的边连接起来,再实施反向删除。
相关信息参见《算法设计》p91