算法的主要思想:
以图的边作为线索,图的存储结构为边集数组的形式(并按其权值大小排列)。按照权值从小到大的顺序每次将一条边加入生成树,若某条边的加入,构成环路,则删除该边。
举个例子:一个图如下:
生成的最小树则为
权值之和=2+4+6+6=18
代码如下:
int Find(int *parent,int f)
{
while(parent[f]>0)
{
f = parent[f];
}
return f;
}
算法的主要思想:
以图的边作为线索,图的存储结构为边集数组的形式(并按其权值大小排列)。按照权值从小到大的顺序每次将一条边加入生成树,若某条边的加入,构成环路,则删除该边。
举个例子:一个图如下:
生成的最小树则为
权值之和=2+4+6+6=18
代码如下:
int Find(int *parent,int f)
{
while(parent[f]>0)
{
f = parent[f];
}
return f;
}