代码随想录 最小生成树
最小生成树
最小生成树是所有节点的最小连通子图,即该子图中所有边的权重之和最小。
prim算法精讲
解题思路
prim是贪心的思路,每次寻找距离 最小生成树 最近的节点,并加入到最小生成树中。以下是核心步骤
- 选距离生成树最近节点
- 最近节点加入生成树
- 更新非生成树节点到生成树的距离
其中一个很重要的树组minDist用来记录每一个节点距离最小生成树的最近距离
kruskal算法精讲
解题思路
prime算法是注重寻找最近的节点,那么kruskal算法则是注重寻找权重最小的边来获取生成树。首先,将边的权值排序,之后遍历边,如果边首尾的两个节点在同一个集合,说明连上该边会行成环,如果不在同一个集合,则把该边加入最小生成树,并让这两个节点加入同一个集合。在这个过程中我们使用并查集解决