图算法总结----Kruskal算法
2017-03-18 22:19
183 查看
// // Created by liyuanshuo on 2017/3/13. // #include <bits/stdc++.h> int r[10010]; //the rank of every side int u[10010], v[10010], w[10010]; // u, v is the pointer of i-th side of graph, w---weight int p[10010]; // p-array used to union-find set int n, m; //n--numbers of nodes m--numbers of sides //cmp -- function used to sort int cmp (const int i, const int j ) { return w[i] < w[j]; } //union_find_set int find( int x ) { return p[x] == x ? x : p[x] = find (p[x]); } int Kruskal( ) { int ans = 0; for (int i = 0; i < n; ++i) { p[i] = i; } for (int j = 0; j < m ; ++j) { r[j] = j; } std::sort( r, r+m, cmp); for (int k = 0; k < m ; ++k) { int e = r[k]; int x = find (u[e]); int y = find (v[e]); if( x != y ) { ans += w[e]; p[x] = y; } } return ans; }
相关文章推荐
- 【算法小总结】Prim算法与Kruskal算法探索
- [★]基于.NET 的 加密 解密 算法总结[一]
- 算法分析之分治法学习总结(一)
- STL中的算法总结
- 算法总结系列之七:选择问题(Randomized Select)
- 算法总结系列之八:复读机的故事 - 散列表.NET应用的研究(下集)
- [导入]算法总结系列之七:选择问题(Randomized Select)
- 表达式计算算法总结
- 算法总结系列之三 : 计数排序(CountingSort)
- 算法总结系列之六: 桶排序(Bucket Sort)
- 算法分析之分治法总结(二)
- 关于全文检索的归并的算法总结:
- 对Photoshop高斯模糊滤镜的算法总结
- QuickSort分析,这是回复提问时碰到的,顺便对学过的算法进行复习,总结...
- 二叉树 遍历 算法总结
- 表达式计算算法总结
- 内排序算法总结——冒泡排序
- 基于.NET 的 加密 解密 算法总结[一]
- STL算法函数总结
- 算法总结系列之八:复读机的故事 - 散列表.NET应用的研究(下集)