最小生成树 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最小生成树

1、首先介绍一下什么是贪心算法: 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。ps:不懂得话可...
  • baidu_28944591
  • baidu_28944591
  • 2016年06月26日 16:50
  • 1765

最小生成树(prim算法与kruskal算法)(模板)

th写的总结,很不错,转载一下:点击打开链接   首先说一下什么是树:     1、只含一个根节点     2、任意两个节点之间只能有一条或者没有线相连     3、任意...
  • zwj1452267376
  • zwj1452267376
  • 2015年08月13日 08:54
  • 1505

数据结构:最小生成树--Prim算法

最小生成树 给定一无向带权图,顶点数是n,要使图连通只需n-1条边,若这n-1条边的权值和最小,则称有这n个顶点和n-1条边构成了图的最小生成树(minimum-cost spanning ...
  • zhangxiangDavaid
  • zhangxiangDavaid
  • 2014年08月05日 00:30
  • 10285

c++ 最小生成树之prim算法

//最小生成树 #include #include #include using namespace std; #define MAX_LINE 7 char tree[MAX_LINE][...
  • zdavb
  • zdavb
  • 2015年04月14日 23:52
  • 989

最小生成树Prim算法理解

MST(Minimum Spanning Tree,最小生成树)
  • yeruby
  • yeruby
  • 2014年08月16日 18:49
  • 85783

prim最小生成树算法原理

prim 最小生成树算法原理 主要需要了解算法的原理、算法复杂度、优缺点 、刻画和度量指标 评价等 可以查阅相关的文献,这部分内容主要整合了两篇博客的内容 分别是:http://blog.csdn....
  • lynnucas
  • lynnucas
  • 2016年05月03日 16:51
  • 3853

最小生成树Prim算法 堆优化

对于最小生成树prim算法中,我们每次要扫描一遍邻接表才能找到最小的边的点,但是如果利用堆这种数据结构来进行优化,我们可以大大减小这种查找的时间消耗 我们利用邻接表和小根堆来进行优化,下面是代码解析...
  • ltyqljhwcm
  • ltyqljhwcm
  • 2016年03月19日 14:02
  • 993

最小生成树(二)--prim算法实现以及堆优化

一、最小生成树---prim算法实现 思想: 1、从任意一个顶点开始构造生成树,假设就从1号顶点吧, 首先将顶点1加入生成树中,用一个一维数组book来标记 哪些顶点已经加入了生成树。  2、用...
  • qq_16997551
  • qq_16997551
  • 2016年04月29日 19:59
  • 841

最小生成树之prim算法 原理

最小生成树之prim算法 边赋以权值的图称为网或带权图,带权图的生成树也是带权的,生成树T各边的权值总和称为该树的权。    最小生成树(MST):权值最小的生成树。    生成树和...
  • hnust_xiehonghao
  • hnust_xiehonghao
  • 2014年07月21日 11:09
  • 3384

ACM:prim最小生成树题目汇总

1.http://115.28.138.223/view.page?gpid=T18import java.util.Scanner; public class Main{ static fi...
  • EmilSinclair4391
  • EmilSinclair4391
  • 2016年05月03日 19:20
  • 465
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:最小生成树 prim
举报原因:
原因补充:

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