反向删除算法合并最小生成树

1.反向删除算法

G<V,E>是连通图,删除环(如果有)上权最大边得G2,存在最小生成树属于G2

证明:假定最小生成树存在此边e,删除e,出现两个连通分支,必然环上有另一边横跨连通分支,且不属于此生成树(否则成环),连接该边,得新的最小生成树,不包含e,所以属于G2.

&&&(其实若权最大边严格大于其他边,那么最小树一定不包含他)

已经有两颗最小生成树(森林),如何用反向生成合并他们呢(红色是未选择的边)

如果两棵生成树由反向生成算法产生,那么下面可以视为中间过程,继续实施反向删除算法即可得到最小生成树,(可是生成树可以由其他方式生成,prim,kruskal,所以现在证明任一棵最小生成树可通过反向删除产生)

因为黑边权<=红边权(由&&&得),红边是最大权边,施行反向删除得最小生成树

现在可以回答这个问题了,假如已经有最小生成树构成的森林,对于其中两棵最小生成树,我们只要连接他们之间的边,再进行反向删除,这样两两合并,形成最后的最小生成树。

也可以把所有树之间的边连接起来,再实施反向删除。

 相关信息参见《算法设计》p91

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值