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

严蔚敏数据结构题集(C语言版)实习题答案

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

我来回答

2个回答

热心网友 时间:2023-08-31 22:13

/* 用邻接矩阵表示的图的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,
{{0,10,MAX,MAX,19,21},
{10,0,5,6,MAX,11},
{MAX,5,0,6,MAX,MAX},
{MAX,6,6,0,18,14},
{19,MAX,MAX,18,0,33},
{21,11,MAX,14,33,0}
}
};

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;
}

热心网友 时间:2023-08-31 22:14

数据结构视频教程 清华大学严蔚敏主讲 全48讲 完整版 ASF格式
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=165468
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
胜达这款车百公里油耗多少? 胜达节能油加盟办厂可靠吗是不是骗子 河南洛阳胜达就是骗子,我把钱交了也不来人了,他们一个老总说了爱咋办... 胜达油是个骗局吗 胜达节能油是什么? 叩解度关于叩解的论述 湿重跟湿重有关的打浆磨片 戴尔XPS M1330-950重要参数 如果到别的单位去面试的话 如果人家问起为什么会选择这家公司而离开另外... 学生会被两个部门同时面试怎么办 央视大风车的所有历代主持人有哪些? 原装和原封有什么区别? 原装正品是什么意思? 中央二套主持人都有谁 原厂与原装有啥区别? 央视主持人尼格买提个人资料及照片 尼格买提老婆是谁 关于办理护照时的一些问题 护照和签证问题 签证和护照的问题 办护照签证的问题 关于护照和签证的问题 护照和签证的问题! 关于护照签证的问题。 有关于护照和签证的问题 护照和签证 问题 关于办护照和签证的问题 关于护照签证的问题,谢谢大家! 出国护照与签证的办理问题 护照、签证的几个问题 关于护照,签证的问题 数据结构生成树问题 数据结构 ~~~~~最小生成树问题 代工和原装有什么区别? 有没有图论高手,请教一个最小生成树的问题 原装配件和原厂配件的区别 急!(最小生成树问题)请教高手!! 原装和原配有什么区别 j=ml∧2/12的推理过程 原装品质和原装正品有区别么 如何辨别原装手机 最小生成树算法源程序 原装品质什么意思 设p,q为奇质数,且p=q+4a,证明:(a/p)=(a/q) 冬天穿羽绒服再合适不过了,紫色的羽绒服应该如何... 原装电脑是什么意思? 求解方程:v=(12050 vx105%)/122.21 原装芯片和散新芯片有什么区别 高考物理有用的推论和二级公式(比如 I=Δφ/R 这类... 男士羽绒服里面怎么搭配 汽车配件原厂、原车、原装的有什么区别