一. 最小生成树
最小生成树存在 等价于 图是连通的
- 是一棵树
- 无回路
- N个顶点有N-1条边
- 生成树
- 包含全部顶点
- N-1条边都在图里
- 再加一条边就形成回路
- 边的权重和最小
算法:贪心算法
- 贪:每一步都是最好的
- 好:权重最小的边
- 约束:
- 只能用图里的边
- 正好用掉N-1条边
- 不能有回路
1. Prim 算法
从根开始,每次选当前树之外权重最小的边让树长大,直到把所有结点收入树中,但不能形成回路
例如:
树长大的过程是:
v1 -->1—>{v1,v4}–>2 -->{v1,v2,v4}–>2–>{v1.v2.v3.v4}–>4–>{v1,v2,v3,v4,v7}–>1–>{v1,v2,v3,v4,v6,v7}–>6–>{v1,…v7}
有点类似迪杰斯特拉最短路径算法
复杂度