1135. 最低成本联通所有城市 https://leetcode.cn/problems/connecting-cities-with-minimum-cost

1584. 连接所有点的最小费用 https://leetcode.cn/problems/min-cost-to-connect-all-points

261. 以图判树 https://leetcode.cn/problems/graph-valid-tree

前置知识

阅读本文前,你需要先学习:

一句话总结

Kruskal 算法是求解无向图中最小生成树的经典算法。

其本质是贪心思想,先排序,再借助 并查集 判断是否形成环。

最小生成树算法概览 讲解了最小生成树的定义及实际运用场景,没看过的话需要先看下。

最小生成树算法主要有 Prim 算法和 Kruskal 算法两种,这两种算法从原理上讲都是运用贪心思想,但从实现上来说差异还是蛮大的。

本文先来讲比较简单易懂的 Kruskal 算法,然后在下一篇文章中聊 Prim 算法。

Kruskal 算法其实很容易理解和记忆,其关键是要熟悉并查集算法,如果不熟悉,建议先看下前文 Union-Find 并查集算法

在讲 Kruskal 算法之前,先回顾一下 Union-Find 并查集算法。

Union-Find 并查集算法

Kruskal 算法

1135. 最低成本联通所有城市

1584. 连接所有点的最小费用

loading...