若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。


  • 运维

  • 前端

  • 编程

  • 随笔

  • hust-oj

3048: 数据结构课程设计

发表于 2017-10-06   |   分类于 HUSTOJ   |   阅读次数 1,269

题目描述

输入

暂无

输出

暂无

样例输入

暂无

样例输出

暂无

参考代码

// 10  对给定的网和起点,实现求解最小生成树的Prim算法
#include<stdio.h>
#define max 100
#define maxcost 1000
int m,n;
int graph[max][max];
//邻接矩阵
void creatgraph() 
{
    int i,j,k;
    int cost;
    scanf("%d%d",&m,&n);
    for (i=1;i<=m;i++) 
    {
        for (j=1;j<=m;j++) 
        {
            graph[i][j]=maxcost;
        }
    }
    for (k=1;k<=n;k++) 
    {
        scanf("%d%d%d",&i,&j,&cost);
        graph[i][j]=cost;
        graph[j][i]=cost;
    }
}
void prim() 
{
    int lowcost[max];
    int mst[max];
    //顶点
    int i,j,min,minid,sum=0;
    for (i=2;i<=m;i++) 
    {
        lowcost[i]=graph[1][i];
        mst[i]=1;
    }
    mst[1]=0;
    for (i=2;i<=m;i++) 
    {
        min=maxcost;
        minid=0;
        for (j=2;j<=m;j++) 
        {
            if(lowcost[j]<min&&lowcost[j]!=0) 
            {
                min=lowcost[j];
                minid=j;
            }
        }
        sum=sum+min;
        lowcost[minid]=0;
        for (j=2;j<=m;j++) 
        {
            if (graph[minid][j]<lowcost[j]) 
            {
                lowcost[j]=graph[minid][j];
                mst[j]=minid;
            }
        }
    }
    printf("最小生成树=%d",sum);
}
int main() 
{
    creatgraph();
    prim();
    return 0;
}

解析

暂无

hustoj

发表评论 取消回复

邮箱地址不会被公开。 必填项已用*标注

*
*


hoxis wechat
著作权归作者所有
站点更新说明
  • 文章目录
  • 站点概览
若是凉夜已成梦

若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。

1904 日志
6 分类
12 标签
RSS
weibo github twitter facebook

友情链接

Dreams孤独患者 原站点 Skip
© 2017 若是凉夜已成梦
Powered by WordPress | 已运行
Theme By NexT.Mist