zoukankan      html  css  js  c++  java
  • MST的kruskal算法

    其实就是并查集的应用,先将邻接矩阵换成边集,再按权值由小到大排序,最后用Unionset构造最小生成树。。。。

    带有优化的并查集=。=

    int find_father(int x)
    {
        int tot=0;
        while(x!=father[x])
        {
            save[tot++]=x;
            x=father[x];
        }

        for(int i=0;i<tot;i++)
        {
            father[save]=x;
        }

        return x;
    }

    int Union_set(int x,int y,int z)
    {
        int Fx=find_father(x);
        int Fy=find_father(y);

        if(Fx==Fy) return 0;
        if(Rank[Fx]<=Rank[Fy])
        {
            father[Fy]=Fx;
            Rank[Fx]+=Rank[Fy];
        }
        else
        {
            father[Fx]=Fy;
            Rank[Fy]+=Rank[Fx];
        }

        return z;
    } 
  • 相关阅读:
    Java 高级文件处理
    drf10
    drf9
    drf8
    drf7
    drf6
    drf5
    drf4
    drf3
    drf2
  • 原文地址:https://www.cnblogs.com/CKboss/p/3350959.html
Copyright © 2011-2022 走看看