kruskal模板
来源:互联网 发布:mars java 编辑:程序博客网 时间:2024/05/21 11:25
时间复杂度: E为图中的边数
算法思想:从权值最小的边开始,如果这条边连接的两个节点于图G中不在同一个连通分量中,则添加这条边到图G中
#include<iostream>#include<algorithm>#include<cstdio>using namespace std;const int maxe = 4000;const int maxn = 55;struct Edge{ int u, v, w;}edge[maxe];bool cmp(Edge p, Edge q){ return p.w < q.w;}int fa[maxn];int find_ancestor(int x){ return fa[x] == x ? x : fa[x] = find_ancestor(fa[x]);}int main(){ int n, m, ans, tol; while(cin >> n) { cin >> m; tol = 0; for(int i = 0; i <= n; i++) fa[i] = i; for(int i = 0; i < m; i++) { int u, v, w; scanf("%d%d%d", &u, &v, &w); edge[tol].u = u; edge[tol].v = v; edge[tol++].w = w; } sort(edge, edge+tol, cmp); ans = 0; for(int i = 0; i < tol; i++) { int x = find_ancestor(edge[i].u); int y = find_ancestor(edge[i].v); if(x != y) { ans += edge[i].w; fa[y] = x; } } printf("%d\n", ans); } return 0;}
0 0
- Kruskal模板
- kruskal模板
- kruskal模板
- kruskal模板
- Kruskal 模板
- kruskal模板
- Kruskal 模板
- kruskal模板
- Kruskal模板
- Kruskal模板
- 模板:kruskal
- Jungle Roads Kruskal模板
- Kruskal算法模板
- 最短路 kruskal模板
- Kruskal算法模板
- Kruskal算法(模板)
- Kruskal标准模板
- (MST-Kruskal模板)
- volatile二三事2---非原子性
- 【Java02】将某路径下所有文件夹名里的空格取消掉
- 对退出app应用的一些理解和方式
- Codeforces-786C-Till I Collapse(二分剪枝)
- 编写代码模拟三次密码输入的场景
- kruskal模板
- 安徽大学第九届大学生程序设计竞赛 网络预选赛 D
- 我理解的Curry化
- 机器学习与数据挖掘之朴素贝叶斯法
- python解决pandas处理缺失值为空字符串
- Java中的泛型总结
- Android-->EventBus 3.0新版使用说明(及其使用方法)
- UVA10600-ACM Contest and Blackout
- P1030 求先序排列