算法-图论-Kruskal

本文探讨了Kruskal算法构建最小生成树的过程,证明了在权值唯一的图中最小生成树的唯一性,并提出了通过标记相同权值边结合Kruskal或Prim算法判断最小生成树唯一性的方法。内容包括Kruskal算法的本质、唯一性证明及特殊情况分析。
摘要由CSDN通过智能技术生成
23.2-1 对于同一个输入图,Kruskal算法返回的最小生成树可以不同。这种不同来源于对边进行排序时,对权重相同的边进行的不同处理。证明:对于图G的每棵最小生成树T,存在一种办法来对G的边进行排序,使得Kruskal算法所返回的最小生成树就是T。

直接想法就是再加一个在输入时边的顺序(即相同权重看哪条边存储的在前面就选哪条)。。。这能怎么证明><

顺便po上为了解决这个问题顺便复习和思考的内容(对,思考XD

相关
  1. Kruskal算法是每次选择权重最小的边加入森林,它的本质是贪心算法。
  2. 如果该图所有的边均不相同,那么我们可以证明最小生成树唯一
    • 如果各边权值唯一,从最小生成树开始,每次加一条边i并在新生成的环上删除最大的一条边j(满足权值 ei < ej ),这时会得到一棵新的生成树,如果我们加入的那条边满足 ej - ei 最小,那么得到的就是第二小的生成树。从这个第二小的生成树开始,进行同样的操作可以得到第三小的生成树。这个迭代过程中树的权值是一直递增的,所以不可能出现相同权值的多棵最小生成树。
  3. 对于给定的图而言,因为最小生成树的权值和是确定的,所以最小生成树不唯一当且仅当最小生成树的形状不唯一
  4. 可证明最小生成树T与任意生成树T’,对边进行排序 w1 <= w2 <= … <= wn
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值