《算法导论》第23章-最小生成树 23.1-最小生成树的形成

在这里插入图片描述

一、最小生成树的形成

1、假定有一个连通无向图G=(V,E),和权重函数w:E->R,我们希望找到图G的一棵最小生成树。
2、管理一个边集合A:在每遍循环之前,A是某棵最小生成树的一个子集。在每一步,我们要做的事情是选择一条边(u, v), 将其加入到集合A中,使得A不违反循环不变式,即A∪{(u, v)}也是某棵最小生成树的子集。由于我们可以安全地将这种边加入到集合A而不会破坏A的循环不变式,因此称这样的边为集合A的安全边。

GENERIC-MST(G,w)
A=∅
while A does not form a spanning tree	//当A不构成生成树的时候
	find an edge (u,v) that is safe for A		//找到一条安全边
	A = A∪{(u,v)}	//A更新
return A

3、一些定义:
无向图G=(V, E)的一个切割(S,V-S)是集合V的一个划分,如图23-2所示。如果一条边(u, v)∈E的一个端点位于集合S,另一个端点位于集合V-S,则称该条边横跨切割(S,V-S)。如果集合A中不存在横跨该切割的边,则称该切割尊重集合A。在横跨一个切割的所有边中,权重最小的边称为轻量级边。注意,轻量级边可能不是唯一的。一般,如果一条边是满足某个性质的所有边中权重最小的,则称该条边是满足给定性质的一条轻量级边。
在这里插入图片描述
4、辨认安全边的规则:
在这里插入图片描述
在这里插入图片描述
5、GENERIC-MST算法的第2~4行的while循环执行的总次数为|V|-1次,因为该循环的每遍循环都找出最小生成树所需|V|-1条边中的一条。在初始时,当A=x时,GA中有|Vl棵树,每遍循环将树的数量减少1棵。当整个森林仅包含一棵树时,该算法就终止。
6、在这里插入图片描述
可以参考上面的图片理解。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KeepCoding♪Toby♪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值