Kruscal算法的C++实现
来源:互联网 发布:阿里云服务器学生1元 编辑:程序博客网 时间:2024/06/06 04:25
#include<iostream> #include<vector> #include<algorithm> #include<string> using namespace std;int mst = 0;struct edge {int u, v, w;};edge edges[10000];int index[10000];int find(int x){if (index[x] == x){return index[x];}else returnfind(index[x]);}bool cmp(edge a, edge b){return a.w < b.w;}int kruscal(int n){for (int i = 1; i < n*(n - 1); i++){index[i] = i;}int u, v, findu, findv;for (int i = 0; i < n*(n-1); i++){u = edges[i].u;v = edges[i].v;findu = find(u);findv = find(v);if (findu == findv){continue;}else{mst += edges[i].w;index[findu] = index[findv];}}return mst;}int main(){int n, w;cin >> n;int x = 0;for (int i = 1; i <= n; i++){for (int j = 1; j <= n; j++){cin >> edges[x].w;if (edges[x].w != 0){edges[x].u = i;edges[x].v = j;++x;}}}sort(edges, edges + n*(n - 1), cmp);kruscal(n);cout << mst << endl;return 0;system("pause");}
阅读全文
0 0
- KRUSCAL算法求图的最小生成树(C实现)
- Kruscal算法的C++实现
- kruscal算法实现
- Kruscal算法的简单介绍
- Kruscal最小生成树算法(C++)
- 最小生成树 kruscal算法 C语言
- 使用并查集实现Kruscal算法
- Kruscal算法
- 最小生成树的prim算法和kruscal算法
- Kruscal算法分析
- Kruscal算法模板
- 第十三周项目2--Kruscal算法的验证
- 第十三周项目2--Kruscal算法的验证
- 第十三周项目2--Kruscal算法的验证
- c实现的算法
- kruscal最小生成树算法
- 最小生成树-Kruscal算法
- 算法训练 安慰奶牛 kruscal
- HDU 6200 mustedge mustedge mustedge [LCT+缩点]
- 用Python爬取百度贴吧中的图片
- Pat(A) 1107. Social Clusters (30)
- Unity 3D学习日记(6)
- 使用Django的认证视图
- Kruscal算法的C++实现
- Python操作Kafka
- 欢迎使用CSDN-markdown编辑器
- LayoutInflater源码分析
- TabLayout && ViewPager _MyActivity(主页)
- LeetCode 419. Battleships in a Board (Medium)
- 日常训练—cf 2017 USP Try-out
- 渗透测试:密码破解小结
- 数据库的一个表一直在使用中 没法查询