最小生成树:
带权连接图中最小生成树:含所有顶点(n个)和n-1条边且它们权值之和最小
Prime算法:拉点法
时间复杂度:O(n*2),n为顶点个数
先选一个顶点放入集合U中,然后把U外顶点和U中任一顶点连线权值最小的加入U中,这样每一步加入U的都是权值最小的,所以,得到的是最小生成树
例:求下图的最小生成树
第一步:假设从顶点0开始,把顶点0加入集合U
5到U中顶点权值最小,把5加入U
4到U中顶点权值最小,4加入U
3到U中顶点权值最小,3加入U
2到U中顶点权值最小,2加入U(不包括6,画错了)
下面是顶点1,顶点6依次加入U
Kruskal算法:拉边法
时间复杂度:O(e*2),e为边数
去掉图中的所有边,然后不断加入权值最小的边,如果加入后构成一个环,则舍弃这条边
直至加入n-1条边
例:求下图的最小生成树
第一步:去掉所有边
第二步:依次把最小权值的边拉入顶点中
拉入过程中判断是否构成环,如果构成环则舍弃这条边,找下一个最小的权值的边