最小生成树算法

普里姆算法:从连通图的某个顶点出发,开始查找与该顶点有边的权值最小的边,加入最小生成树,然后再查找已加入最小生成树的顶点的边中权值最小的边(如果是这个最小边链接的另外一个顶点已经加入了最小生成树,则跳过该边)。此算法更适用于于稠密图


V0为起点(每个顶点都可以是起点,最终结果是一样的),首先将V0加入最小生成树,然后与V0连通的V1和V5中V1的权值较小,所以将V1加入最小生成树。此时与V0和V1连通的顶点有V5,V6,V8,V2,因为V0与V5的边权值最小,故将V5加入最小生成树,此时与最小生成树中的顶点有边连通的顶点有V4,V6,V8,V2。由于此时V1到V8的边权值最小,所以将V8加入最小生成树。按以上步骤得到一下图


最终生成的最小声场数为图6


克鲁斯卡尔算法:按照权值从小到大,依次加入最小生成树,如果加入过程中发现该边对应的顶点已经加入到最小生成树中,则根据规则将下一条权值最小的边对应的顶点加入到最小生成树中。该算法针对边来计算,所以边数较少时速度较快。如下图


边加入的顺序为V4与V7,V2与V8,V0与V1,V0与V5,V1与V8,V1与V6和V3与V7,此时应该加入下一个权值为17的V5与V6,但由于V5和V6都已经加入了,所以要跳过。最后将V6与V7加入。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值