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


    int prim(int n)
    {
        int lowcost[maxn];    //记录集合外的点到集合内的距离
        bool s[maxn];          //记录是否包含在集合中

        for(int i=1;i<=n;i++)
        {
            lowcost=c[1];
            s=false;
        }
        s[1]=true;                     //初始化

        int sum=0;
        for(int i=2;i<=n;i++)    //逐个找连接森林的最短边加入
        {
            int minn=INF;
            int u=-1;
            for(int j=1;j<=n;j++)   //找最短边
            {
                if(!s[j]&&lowcost[j]<minn)
                {
                    u=j;
                    minn=lowcost[j];
                }
            }
     
           if(u==-1)  return INF;//两个森林不联通
     
            sum+=minn;  s=true;

            for(int j=1;j<=n;j++)    //更新外围的距离
            {
                if(!s[j]&&c[j]<lowcost[j])
                {
                    lowcost[j]=c[j];
                }
            }
        }

        return sum;
    }


  • 相关阅读:
    python操作excel表格
    重学Java
    重学Java
    重学Java
    重学Java
    重学Java
    博客园自定义主题及目录组件
    重学Java
    修改 Eclipse 背景颜色的高级方法
    dbf转excel
  • 原文地址:https://www.cnblogs.com/CKboss/p/3350961.html
Copyright © 2011-2022 走看看