算法与数据结构之Kruskal算法

本文我们来讲解一下Kruskal这个最小生成树算法,看完本文相信你对Kruskal算法和最小生成树的理解会更进一步。

最小生成树

在连通无向带权图中,选取若干边构成一棵包含图中所有顶点的树,不存在回路且所有顶点互相连通,同时满足全部边的权值之和最小,这样的树就是该图的最小生成树。

最小生成树的特点:

  • 具有n个点n-1条边。
  • 极小连通子图(少一条边图不再连通)。
  • 图中权值相同时最小生成树可能不唯一。

比如说,针对这样的一个图:

使用Kruskal算法后可以得到其最小生成树为:

例题

例子是最好的学习工具,接下来我们以这个图为例,来详细讲解一下Kruskal算法求解最小生成树的方法。

相关推荐
jeo陽1 小时前
05-数组与冒泡排序:第一个数据结构与经典算法
c语言·数据结构·算法
Nil2081 小时前
leetcode 75颜色分类
数据结构·算法·leetcode
小poop2 小时前
高级排序算法与性能对比——归并、非比较排序及总结
数据结构·算法·排序算法
用户84913717547162 小时前
Redis 跳表用了"随机"的魔法,实现了比平衡树更快的查找!
数据结构·redis
不会就选b2 小时前
算法日常・每日刷题--<动态规划>29
数据结构·算法·leetcode
垆边人似月.2 小时前
最少的元素个数使和为 target
数据结构·c++·算法
彧azz4 小时前
B-树学习总结:从结构特性到核心操作的系统复习
数据结构·笔记·b树·学习
All for pursuit.14 小时前
【动态规划-21】312.戳气球
数据结构·c++·算法·leetcode·动态规划
YSL07012417 小时前
贪吃蛇小游戏---古法编程
数据结构·游戏程序
y1su18 小时前
Leetcode 动态规划 模板
java·数据结构·算法·leetcode·动态规划