问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数据结构生成树问题

发布网友 发布时间:2022-04-22 04:56

我来回答

1个回答

热心网友 时间:2023-06-24 02:12

/* 用邻接矩阵表示的图的prim算法的源程序*/

#include<stdio.h>
#define MAXVEX 6

typedef char VexType;

typedef float AdjType;

typedef struct {
int n; /* 图的顶点个数 */
/*VexType vexs[MAXVEX]; 顶点信息 */
AdjType arcs[MAXVEX][MAXVEX]; /* 边信息 */
} GraphMatrix;

typedef struct{
int start_vex, stop_vex; /* 边的起点和终点 */
AdjType weight; /* 边的权 */
} Edge;

Edge mst[5];

#define MAX 1e+8

void prim(GraphMatrix * pgraph, Edge mst[]) {
int i, j, min, vx, vy;
float weight, minweight; Edge edge;

for (i = 0; i < pgraph->n-1; i++) {
mst[i].start_vex = 0;
mst[i].stop_vex = i+1;
mst[i].weight = pgraph->arcs[0][i+1];
}

for (i = 0; i < pgraph->n-1; i++) { /* 共n-1条边 */
minweight = MAX; min = i;
for (j = i; j < pgraph->n-1; j++)/* 从所有边(vx,vy)(vx∈U,vy∈V-U)中选出最短的边 */
if(mst[j].weight < minweight) {
minweight = mst[j].weight;
min = j;
}

/* mst[min]是最短的边(vx,vy)(vx∈U, vy∈V-U),将mst[min]加入最小生成树 */
edge = mst[min];
mst[min] = mst[i];
mst[i] = edge;
vx = mst[i].stop_vex; /* vx为刚加入最小生成树的顶点的下标 */

for(j = i+1; j < pgraph->n-1; j++) { /* 调整mst[i+1]到mst[n-1] */
vy=mst[j].stop_vex; weight = pgraph->arcs[vx][vy];
if (weight < mst[j].weight) {
mst[j].weight = weight;
mst[j].start_vex = vx;
}
}
}
}

GraphMatrix graph = {
6,
,
,
,
,
,

}
};

int main(){
int i;
prim(&graph,mst);
for (i = 0; i < graph.n-1; i++)
printf("(%d %d %.0f)\n", mst[i].start_vex,
mst[i].stop_vex, mst[i].weight);
return 0;
}
追问谢谢,但是我问的不是有权值的生成树

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
关于后悔药的寓言故事 北京联合大学校区有几个 什么是数码相机的快门优先模式 什么叫快门优先 慢性浅表性胃炎伴糜烂一天吃四顿饭是什么症状 火影忍者 火影忍者手游有土豪账号吗? 谁可以借我玩玩火影忍者手游的账号 电厂三班倒是什么 2022年1月1日起,纳税信用修复有新规 如何写出优雅的分段函数:再谈MATLAB函数句柄 严蔚敏数据结构题集(C语言版)实习题答案 央视大风车的所有历代主持人有哪些? 原装和原封有什么区别? 原装正品是什么意思? 中央二套主持人都有谁 原厂与原装有啥区别? 央视主持人尼格买提个人资料及照片 尼格买提老婆是谁 关于办理护照时的一些问题 护照和签证问题 签证和护照的问题 办护照签证的问题 关于护照和签证的问题 护照和签证的问题! 关于护照签证的问题。 有关于护照和签证的问题 护照和签证 问题 关于办护照和签证的问题 关于护照签证的问题,谢谢大家! 出国护照与签证的办理问题 护照、签证的几个问题 数据结构 ~~~~~最小生成树问题 代工和原装有什么区别? 有没有图论高手,请教一个最小生成树的问题 原装配件和原厂配件的区别 急!(最小生成树问题)请教高手!! 原装和原配有什么区别 j=ml∧2/12的推理过程 原装品质和原装正品有区别么 如何辨别原装手机 最小生成树算法源程序 原装品质什么意思 设p,q为奇质数,且p=q+4a,证明:(a/p)=(a/q) 冬天穿羽绒服再合适不过了,紫色的羽绒服应该如何... 原装电脑是什么意思? 求解方程:v=(12050 vx105%)/122.21 原装芯片和散新芯片有什么区别 高考物理有用的推论和二级公式(比如 I=Δφ/R 这类... 男士羽绒服里面怎么搭配 汽车配件原厂、原车、原装的有什么区别 3dsmax8.0序列号