edge = [[1,2,1],[1,2,3],[1,3,2],[2,3,1],[2,4,4],[3,4,2]]
#这是用边集合表示的图
s = [[]]
n = 4
for i in range(n):
s.append([i+1])
#print s
#compare方法是为了对边排序写的,作为参数传入sort,就可以排序了
def compare(a,b):
if(a[2...
分类:
编程语言 时间:
2015-03-27 22:26:43
阅读次数:
242
最小生成树的kruskal算法要点:并查集合数组完全图边数n*(n-1)/2Tree[N];数据结构设计:Structnode{Inta;Intb;Intcost;Booloperator#include int Tree[100];using namespace std;int findroot(...
分类:
其他好文 时间:
2015-03-21 13:52:43
阅读次数:
123
POJ 2075 Tangled in Cables (kruskal算法 MST + map)...
分类:
编程语言 时间:
2015-03-17 00:52:31
阅读次数:
244
解析:最小生成树;Kruskal 算法:并查集实现。
1、首先找出符合要求的边;
2、对找出的边排序;
3、并查集找出n-1条边,无法修通n-1条路则无法实现要求。
#include
#include
#include
using namespace std;
struct Point
{
int x,y;
} point[102];
struct Edge
{
in...
分类:
其他好文 时间:
2015-03-15 16:56:39
阅读次数:
259
畅通工程的升级版。
求最小生成树。Kruskal 算法:应用并查集。
#include
#include
using namespace std;
int p[102];
bool Init(int n) //一开始指向自己
{
for(int i=0;i<=n;i++)
p[i]=i;
return true;
}
int Fi...
分类:
其他好文 时间:
2015-03-15 15:21:44
阅读次数:
154
简介求最小生成树一共有两种算法,一个是就是本文所说的Kruskal算法,另一个就是Prime算法。在详细讲解Kruskal最小生成树算法之前,让我们先回顾一下什么是最小生成树。我们有一个带权值的图,我们要求找到一个所有生成树中具有最小权值的生成树。如下图所示,T是图G的生成树。但不是具有最小权值的生成树。我们可以把他们想象成一组岛屿和连接它们的可能的桥梁。当然修桥是非常昂贵和费时的,所以我们必须要知...
分类:
编程语言 时间:
2015-03-14 18:37:27
阅读次数:
138
自荐者和推荐者请留言
基本算法
贪心算法:贪心算法 作者:独酌逸醉
贪心算法精讲 作者:3522021224
递归和分治:递归与分治策略 作者:zhoudaxia
图论
图的遍历(DFS和BFS): 图的遍历 作者:jefferent
最小生成树(Prim算法和Kruskal算法): 贪心算法--最小生成树 作者:独酌逸醉
Dij...
分类:
编程语言 时间:
2015-03-11 17:18:33
阅读次数:
185
最小生成树最小生成树即用最少的边权将所有给定的点连在同一联通分量中,常用kruskal和prim算法kruskal算法(适合稀疏图)最小生成树的kruskal算法,稍带并查集的应用int find(int x){ return fa[x]==x?x:fa[x]=find(fa[x]); //不...
分类:
其他好文 时间:
2015-03-11 16:35:21
阅读次数:
170
http://codeforces.com/problemset/problem/160/D这道题要求哪条边存在于某个最小生成树中,哪条边不存在于最小生成树中,哪条边绝对存在于最小生成树中明显桥边一定存在于所有最小生成树中,然而怎么处理存在某个最小生成树的边呢?借助kruskal算法的性质,由小到大...
分类:
其他好文 时间:
2015-03-11 01:53:54
阅读次数:
235