SWUST OJ 1075 求最小生成树(Prim算法)

求最小生成树(Prim算法)

我对提示代码做了简要分析,提示代码大致写了以下几个内容

  1. 给了几个基础的工具,邻接表记录图的一个的结构体,记录Prim算法中最近的边的结构体,记录目标边的结构体(始末点,值)。
  2. 初始化记录了图,规定了从0号节点开始构建。
    给了这么多东西,不能不用,对吧,下面就是题目以及算法

1000(ms) 10000(kb) 2490 / 4945
Tags: 生成树
求出给定无向带权图的最小生成树。图的定点为字符型,权值为不超过100的整形。在提示中已经给出了部分代码,你只需要完善Prim算法即可。

#include< iostream> 
using namespace std; 

typedef struct 
{ 
int n; //节点数
int e; //边数
char data[500]; //节点对应的字母
int edge[500][500]; //图的数据
}Graph; 
//可以说图的所有信息都在这里了

typedef struct 
{ 
int index; 
int cost; 
}mincost; //记录最小值边用的

typedef struct 
{ 
int x; 
int y; 
int weight;    
}EDGE; //找到最小边以后可以用这个保存边的数据


typedef struct 
{ 
int index; 
int flag; 
}F; //没懂拿来干嘛

//一个形成图的函数。对角存为0(无边连接自己),其他存为100
void create(Graph &G,int n ,int e) 
{ 
int i,j,k,w; 
char a,b; 
for(i=
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值