最小生成树 prim

转载 2016年06月02日 10:18:44
    #include "stdio.h"  
    #include "stdlib.h"  
    #define MAX 110  
    int a[MAX][MAX],p[MAX];  
      
    int main(void)  
    {  
        int i,j,k,n,t,min,sum,new_point,x,y,d;  
        printf("请输入顶点的个数:");  
        scanf("%d",&n);  
        t=n*(n-1)/2;
        for(i=0;i<MAX;i++){
            p[i] = 0;
        }
        //memset(p,0,sizeof(p));   //将p数组初始化为0  
        printf("请输入每条边的起始端点、权值:/n");  
        for(i=0;i<t;i++)  
        {  
            scanf("%ld%ld%ld",&x,&y,&d);   //输入每条边的权值  
            a[x][y]=a[y][x]=d;  
        }  
        p[1]=1;  
        sum=0;  
        for(k=0;k<n-1;k++)  
        {  
            min=-1;  
            for(i=1;i<=n;i++)  
            {  
                if(p[i]==1)  
                {  
                    for(j=1;j<=n;j++)  
                    {  
                        if(p[j]==0 && (min==-1 || min>a[i][j]))  
                        {  
                            min=a[i][j];   //从一个顶点在U中,而另一个顶点不在U中的各条边中选择权值最小的边  
                            new_point=j;  
                        }  
                    }  
                }  
            }  
            p[new_point]=1;  
            sum+=min;  
      
        }  
        printf("最小生成树的权值为:%d/n",sum);  
        system("pause");  
        return 0;  
    }  

最小生成树(Prim算法)

  • 2015年06月13日 23:00
  • 2KB
  • 下载

(prim算法题型一)求最小生成树的权值和、路径、边值的最小和最大值。

1.输出最小生成树个边权值累加和 4 0 4 9 21 4 0 8 17 9 8 0 16 21 17 16 0 #include #include #define MaxInt 0x...

Prim算法最小生成树(C语言)

  • 2014年10月16日 16:31
  • 516B
  • 下载

用Prim算法构造最小生成树

  • 2013年12月07日 20:18
  • 1KB
  • 下载

最小生成树的Prim算法和Kruskal算法java代码实现

最小生成树的Prim算法和Kruskal算法java代码实现

prim算法最小生成树

  • 2008年02月19日 11:11
  • 31KB
  • 下载

数据结构实验 Prim最小生成树

  • 2011年05月24日 20:04
  • 149KB
  • 下载

求最小生成树的Prim算法

Prim算法最开始把所有的节点每个节点作为一个树,所有的节点成为森林,最开始从第一个节点开始作为最小生成树一部分A,依次向所有的节点扩展,每次找离最小生成树最小的一个顶点,直到所有的顶点添加到最小生成...

实现构造最小生成树的Prim算法

  • 2016年12月14日 19:43
  • 3.42MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:最小生成树 prim
举报原因:
原因补充:

(最多只允许输入30个字)