最小生成树
1.prim()算法
2.kruskal()算法
kruskal();
[一直在维护一个生成森林(一棵树也可以看作一个生成森林),
不断压缩森林的过程]
即一开始有n个连通块,将其压缩至一个(可以是多个)的过程
:
(1) 边权值从小到大排序
(2) 依次枚举每条边,如果该边的两个端点已经连通,则pass
否则连通这两个点,并累加答案
作用:用最少边使得所有点连通的,且边权之和最小
模板
存在必选边的最小生成树1
存在必选边的最小生成树2
建立虚拟源点
最小生成树加边成完全图
加边的最小生成树类问题
选边存在限制的kruskal