【图论笔记】克鲁斯卡尔算法(Kruskal)求最小生成树

【图论笔记】克鲁斯卡尔算法(Kruskal)求最小生成树

适用于

克鲁斯卡尔适合用来求边比较稀疏的图的最小生成树

简记:

将边按照升序排序,选取n-1条边,连通n个顶点。

添加一条边的时候,如何判断能不能添加这条边?(添加进来之后,会不会构成回路)

看标记,

和原来的标记不一样,就可以加入,

加入之后将他们的标记修改为一样的。

图解

第一步:创建一个连通图,并且给每个顶点都标记上不同的颜色

第二步:选取边<A,C>,选完之后C的颜色要和A相同

第三步:加入边<D,F>,将F的颜色改为D的蓝色

第四步:加入边<B,E>,将E改为紫色

第五步:添加边<C,F>,将F相连的节点改为绿色(包括它自己)

第六步:<A,D>不能加入,因为A和D的颜色一样。加入边<B,C>,将原来和B相连的节点的颜色都改为绿色。完

代码正在研究

相关推荐
weixin_527550406 分钟前
初级程序员入门指南
javascript·python·算法
moxiaoran57532 小时前
uni-app学习笔记三十--request网络请求传参
笔记·学习·uni-app
嘉陵妹妹2 小时前
深度优先算法学习
学习·算法·深度优先
GalaxyPokemon2 小时前
LeetCode - 53. 最大子数组和
算法·leetcode·职场和发展
hn小菜鸡3 小时前
LeetCode 1356.根据数字二进制下1的数目排序
数据结构·算法·leetcode
zhuiQiuMX3 小时前
分享今天做的力扣SQL题
sql·算法·leetcode
music&movie4 小时前
算法工程师认知水平要求总结
人工智能·算法
明月醉窗台4 小时前
qt使用笔记二:main.cpp详解
数据库·笔记·qt
laocui15 小时前
Σ∆ 数字滤波
人工智能·算法
yzx9910135 小时前
Linux 系统中的算法技巧与性能优化
linux·算法·性能优化