(复习)Kruskal算法和Prim算法

int findroot(int parent[],int v)
{
    int t=v;
    while(parentp[t]>-1)
        t=parent[t];
    return t;
}

void kruskal()
{
    int num=0,vex1,vex2;
    int parent[vertexnum];
    for(int i=0;i<vertexnum;i++){
        parent[i]=-1;
        for(num=0,i=0;num<vertexnum-1;i++){
            vex1=findroot(parent,edge[i].from);
            vex2=findroot(parent,edge[i].to);
            if(vex1!=vex2){
                cout<<"("<<edge[i].from<<","<<edge[i].to<<")"<<edge[i].weight;
                parent[vex2]=vex1;
                num++;
            }
        }
    }
}
发布了247 篇原创文章 · 获赞 22 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43658924/article/details/103263900