用Kruskal算法的基本思想求解出所有的最小生成树,并给出求解过程的动态演示。用C++

来源:百度知道 编辑:UC知道 时间:2024/06/21 18:10:22
没有动态演示也行啊,至少要能求出所有的最小生成树啊,各位帮帮忙啊
数据结构:对给定的图结构,用Kruskal算法的基本思想求解出所有的最小生成树,并给出求解过程的动态演示。用C++
我只有60分啊 不能再加了

这个问题我开价200分

//kruskal 算法

#include<stdio.h>
long i,j,k,m,n;
long cost,treenum;
long root[32001],rank[32001];
struct edge{
long x;
long y;
long w;
};
struct edge e[100000];
long sort(long l,long r){
long low=l,hi=r,mid=e[(l+r)/2].w,tmp;
do{
while(e[low].w<mid)low++;
while(e[hi].w>mid)hi--;
if(low<=hi){
tmp=e[low].x; e[low].x=e[hi].x; e[hi].x=tmp;
tmp=e[low].y; e[low].y=e[hi].y; e[hi].y=tmp;
tmp=e[low].w; e[low].w=e[hi].w; e[hi].w=tmp;
low++; hi--;
}
}while(low<=hi);
if(low<r) sort(low,r);
if(l<hi) sort(l,hi);
}
long init(){
scanf("%ld%ld",&n,&m);
for(i=1;i<=m;i++)
scanf("%ld%ld%ld",&e[i].x,&e[i].y,&e[i].w);
sort(1,m);
treenum=n;
}
long findse