首页 > prim算法(自主理解)
头像
lumiyoyo
编辑于 2020-08-24 19:22
+ 关注

prim算法(自主理解)

代码:
void Prim(MatGraph g,int v)
{
    int lowcost[MAXV];
    int closest[MAXV];
    int MIN;
    int i,j,k;
    
    for(i=0;i<g.n;i++)
    {
        lowcost[i]=g.edges[v][i];
        closest[i]=v;
    }
    
    for(i=1;i<g.n;i++)
    {
        MIN=INF;  
        for(j=0;j<g.n;j++)
        {
            if(lowcost[j]!=0&&lowcost[j]<MIN)
            {
                MIN=lowcost[j];
                k=j;
            }
        }
        printt("边为(%d,%d)权值为:%d\n",closest[k],k,MIN);
        lowcost[k]=0;
        
        for(j=0;j<g.n;j++)
        {
            if(lowcost[j]!=0&&g.edges[k][j]<lowcost[j])
            {
               lowcost[j]=g.edges[k][j];
               closest[j]=k;
            }
            
        }
    }
}


图解:

全部评论

(1) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

近期精华帖

热门推荐