算法与数据结构之Kruskal算法

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

最小生成树

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

最小生成树的特点:

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

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

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

例题

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

相关推荐
wuyk55511 小时前
107.FreeRTOS 链表深度解析:从原理到面试满分答案
c语言·开发语言·数据结构·stm32·单片机·链表·面试
-dzk-11 小时前
【链表】LC 138.随机链表的复制
数据结构·链表
洋不写bug12 小时前
链表补充练习,双链表的模拟实现
java·数据结构·链表·双链表·底层实现
白狐_79813 小时前
408 数据结构|外部排序:流程与 k 路归并
数据结构·算法
我不会起名字32215 小时前
一天一道算法题(26):栈的简单应用
java·数据结构·python·算法·leetcode·golang·
不会就选b16 小时前
算法日常・每日刷题--<贪心+大根堆>2
数据结构·算法
事圆则缓16 小时前
Java 常见数据结构与 Android 使用场景
android·java·数据结构
白狐_79816 小时前
408 数据结构|外部排序优化:怎么减少时间开销
数据结构·算法
kiracrimson1 天前
从缓存的角度看链表与线性表的差异
数据结构·链表·缓存
心抵鹊1 天前
归并排序之翻转对(hard)
数据结构·算法