最小生成树:使用堆和并查集的kruskal算法
2008-10-31 13:55
323 查看
头文件:
struct Edge { double dis; int v,w; bool operator<(const Edge &e1)const { return dis<e1.dis; } bool operator>(const Edge &e1)const { return dis>e1.dis; } Edge(int vv,int ww,double diss) { v=vv; w=ww; dis=diss; } }; priority_queue<Edge,vector<Edge>,greater<Edge>> e;//边集 priority_queue<Edge,vector<Edge>,less<Edge>> te;//生成树的边集 int p;//顶点数 UFset u(p+1); int k=0; while(e.size()&&k<p-1) { Edge x=e.top(); e.pop(); int a=u.Find(x.w); int b=u.Find(x.v); if (a!=b) { te.push(x); u.Union(a,b); } }
相关文章推荐
- hdu 1233 还是畅通工程 最小生成树Kruskal算法(并查集)
- 并查集+Kruscal最小生成树; 温习了一下并查集, 同时又对静态数组的动态使用体会了一下;.
- 最小生成树kruskal算法并查集版 C语言实现
- 图 之 MST(最小生成树 — kruskal算法 )并查集实现
- HDU 1233.还是畅通工程【最小生成树 kruskal算法(并查集)+prim算法】【1月8】
- 图算法 最小生成树 Kruskal算法(并查集)
- 最小生成树kruskal算法(并查集)
- poj1861最小生成树(并查集)-kruskal算法
- 最小生成树Kruskal算法与并查集及其优化
- 最小生成树Kruskal算法【模板】 与 并查集 例题:简单 poj 2485 Highways
- 最小生成数(并查集)Kruskal算法
- 最小生成树kruskal算法并查集版 C语言实现
- 图算法 最小生成树邻接表 Kruskal算法(并查集)
- 并查集实现最小生成树的kruskal算法
- 最小生成树(Kruskal算法)贪心算法 利用并查集
- 最小生成树kruskal算法(并查集)
- 【最小生成树】kruskal算法(用并查集)pascal
- PKU1611-2485-1861使用并查集实现Kruskar算法求最小生成树。
- hdu 1102 (最小生成树kruskal算法--并查集,prim死活过不了)
- hdoj 4786 Fibonacci Tree【并查集+最小生成树(kruskal算法)】