1.生成树和最小生成树
(1)生成树
连通图的生成树是包含图中全部顶点的一个极小(边尽可能的少)连通子图。若图中顶点数为n,则它的生成树含有n-1条边。只有连通图才有生成树,非连通图只有生成森林
(2)最小生成树
对于一个带权连通无向图
G
=
(
V
,
E
)
G=(V,E)
G=(V,E),生成树不同,每棵树的权(即所有边的权值之和)也可能不同。设R为G的所有生成树的集合,若T为R中边的权值之和最小的生成树,则T称为G的最小生成树(Minimum-Spanning-Tree)
2.最小生成树的特点
(1)最小生成树可能有多个,但最小生成树的权总是唯一且最小的
(2)最小生成树的边数=顶点数-1,去掉一条边则不连通,增加一条边则会出现回路
(3)只有连通图才有生成树,非连通图只有生成森林
3.Prim(普里姆)算法
Prim算法是一种用于解决最小生成树问题的贪心算法,从一个顶点开始,每次迭代中选择与当前生成树距离最短的顶点,并将其加入到生成树中,一直持续到所有顶点都加入到生成树中为止
4.Kruskal算法
每次选择权值最小的边(若这条边的两个顶点原本已连通则不选),使这条边的两个顶点连通,直到所有顶点都连通