其他分享
首页 > 其他分享> > 图论_最小生成树(更新中)

图论_最小生成树(更新中)

作者:互联网

生成树
对于一个无向图,生成树是它的一个没有回路的联通子图
最小生成树
边权权值和的最小的生成树

kruskal算法
kruskal是一个加边的过程。设图G为<V,E>,初始只有n个顶点,每次从E中取出当前集合中权值最小的边<u,v>
,如果u,v当前在图上不在同一棵树上,那么将u所在的树和v所在的树进行合并。将边<u,v>加入到最小生成树的
边集S。重复加边的过程,直到所有点都在同一棵树上,那么最小生成树构造完毕。

1.n个点m条边 按边权从小到大排序
2.查找当前最小边,从k棵树到k - 1棵树最后合并为1棵树

例题:有n个村庄需要用水,他们可以花费W_i自建水库或者从已有水源的村庄饮水过来,求使得每个村庄都能
用上水的前提下,是的总花费最小。
cost i = w_i 或 a[i][j] //j为已有水源得村庄
//想让w_i合并a[i][j],类似演唱会那题,新建一个点S使之与其余各点相连,并使边权为w_i
cost i = a[i][j] 对S以及其余各点求一棵最小生成树

标签:图论,kruskal,合并,最小,生成,村庄,加边
来源: https://www.cnblogs.com/qinghuiwuhan/p/15036601.html