ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-07-20 19:34:20  阅读:260  来源: 互联网

标签:图论 kruskal 合并 最小 生成 村庄 加边


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

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有