数据结构 之 图的 最小生成树(十二)

提示:本篇难点: 生成树概念的理解
重点:是普利姆算法、克鲁斯卡尔算法构造最小生成树

超超超重点的是 普利姆和克鲁斯卡尔构造最小生成树的算法,这部分可能需要同学们自行去学习了。 一定要理解后用代码能够实现这两个算法已经了解应用场景


图的生成树

无向连通图的生成树举例

如图所示:有如下无向连通图
在这里插入图片描述
根据上述条件分析结果得出它的生成树有如下:
在这里插入图片描述

网的最小生成树

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

请同学们思考,如何构造图的最小生成树?

在这里插入图片描述

克鲁斯卡尔算法 构造最小生成树

构造思想:
任给一个有n个顶点的连通图N={V,E},
首先构造一个由这n个顶点组成、不含任何边的图G={V,NULL},其中每个顶点自成一个连通分量(集合),其次不断从E中取出权值最小的一条边(若有多条权值相等任取其一),若该边的两个顶点来自不同的连通分量,则将此边加入到G中。如此重复,直到所有顶点在同一个连通分量上为止。
综上所述:每次迭代时,选出一条具有最小权值的边,且边的两端点不在同一连通分量(集合)上,则加入生成树。

克鲁斯卡尔算法思想的起始条件就是 生成树只包含图的所有顶点。

上图也可以构造最小生成树。
所以最小生成树不一定唯一。
在这里插入图片描述

普利姆算法构造最小生成树

思想:每次选边的时候是从两个集合中的顶点直接相连的边中选取权值最小的那一条。
构造顺序:1-2 2-3 2-4 2-6 4-5


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值