数据结构之图--最小生成树(克鲁斯卡尔(Kruskal)算法)

本文详细介绍了克鲁斯卡尔(Kruskal)算法,用于找到图的最小生成树。该算法首先将图中所有边按代价排序,然后逐次选择最小代价边,确保不形成环路,直至连接所有顶点。通过使用边集结构体、排序和判断回路的parent数组,实现了算法的代码逻辑。
摘要由CSDN通过智能技术生成

克鲁斯卡尔(Kruskal)算法(加边法)(时间复杂度是eloge)

思想:每次迭代选择一条满足条件的最小边,并将其加入生成树的边集中。

算法:

    1、把图中的所有边按照代价从小到大排序,放到边集数组中;

    2、把图中的N个顶点看成独立的N颗树组成的森林;

    3、按照权值从大到小选择边,所选的边连接的两个顶点V0、V1必须属于两个不同的树,这样两棵树就合并成一棵树了;

    4、重复(3)直到所有的顶点都在一棵树中或者有n-1条边。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值