资源简介
问题描述:要在8个城市间建立通信网,已知各个城市间的距离(权),现要求如何才能使得建立的通信网络代价最小(最短)。
数据结构:用图来描述8个城市间的关系,顶点为城市,边为两个城市间的代价。
结果形式:输入城市图,输出应建立线路的边和总的代价。
测试数据:自定。
数据结构:用图来描述8个城市间的关系,顶点为城市,边为两个城市间的代价。
结果形式:输入城市图,输出应建立线路的边和总的代价。
测试数据:自定。
代码片段和文件信息
typedef int VRType;
typedef char InfoType;
#define MAX_NAME 3 // 顶点字符串的最大长度+1
#define MAX_INFO 20 // 相关信息字符串的最大长度+1
typedef char VertexType[MAX_NAME];
#include“Graph_Matrix.h“
#include“Graph.h“
typedef struct
{ // 记录从顶点集U到V-U的代价最小的边的辅助数组定义
VertexType adjvex;
VRType lowcost;
}minside[MAX_VERTEX_NUM];
int minimum(minside SZMGraph G)
{ // 求SZ.lowcost的最小正值,并返回其在SZ中的序号
int i=0jkmin;
while(!SZ[i].lowcost)
i++;
min=SZ[i].lowcost; // 第一个不为0的值
k=i;
for(j=i+1;j if(SZ[j].lowcost>0&&min>SZ[j].lowcost) // 找到新的大于0的最小值
{
min=SZ[j].lowcost;
k=j;
}
return k;
}
void MiniSpanTree_PRIM(MGraph GVertexType u)
{ // 用普里姆算法从第u个顶点出发构造网G的最小生成树T,输出T的各条边。
int ijkm;
minside closedge;
k=LocateVex(Gu);
for(j=0;j {
strcpy(closedge[j].adjvexu);
closedge[j].lowcost=G.arcs[k][j].adj;
}
closedge[k].lowcost=0; // 初始U={u}
printf(“最小代价生成树的各条边为:\n“);
for(i=1;i { // 选择其余G.vexnum-1个顶点
k=minimum(closedgeG); // 求出T的下一个结点:第k顶点
m=LocateVex(Gclosedge[k].adjvex);//获取第一个顶点在数组中的位置
printf(“(%s-%s) %d\n“closedge[k].adjvexG.vexs[k]G.arcs[m][k].adj); // 输出生成树的边及权值
closedge[k].lowcost=0; // 第k顶点并入U集
for(j=0;j if(G.arcs[k][j].adj { // 新顶点并入U集后重新选择最小边
strcpy(closedge[j].adjvexG.vexs[k]);
closedge[j].lowcost=G.arcs[k][j].adj;
}
}
}
void main()
{
MGraph g;
CreateUDN(g); // 构造无向网g
Display(g); // 输出无向网g
MiniSpanTree_PRIM(gg.vexs[0]); // 用普里姆算法从g的第1个顶点出发输出最小生成树的各条边
getchar();
getchar();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 31744 2009-04-15 21:02 4-tongxin\Debug\tongxin.exe
文件 330792 2009-04-15 21:02 4-tongxin\Debug\tongxin.ilk
文件 519168 2009-04-15 21:02 4-tongxin\Debug\tongxin.pdb
文件 11468 2009-04-15 21:03 4-tongxin\tongxin\Debug\BuildLog.htm
文件 35485 2009-04-15 21:02 4-tongxin\tongxin\Debug\Main.obj
文件 65 2009-04-15 21:03 4-tongxin\tongxin\Debug\mt.dep
文件 621 2009-04-15 21:02 4-tongxin\tongxin\Debug\tongxin.exe.intermediate.manifest
文件 191488 2009-04-15 21:02 4-tongxin\tongxin\Debug\vc90.idb
文件 217088 2009-04-15 21:02 4-tongxin\tongxin\Debug\vc90.pdb
文件 2265 2009-04-15 21:02 4-tongxin\tongxin\Graph.h
文件 601 2009-04-15 19:09 4-tongxin\tongxin\Graph_Matrix.h
文件 1949 2009-04-15 20:56 4-tongxin\tongxin\Main.cpp
文件 3783 2009-04-15 19:09 4-tongxin\tongxin\tongxin.vcproj
文件 1411 2009-04-15 21:05 4-tongxin\tongxin\tongxin.vcproj.Dave-PC.文刀.user
文件 1182720 2009-04-15 21:05 4-tongxin\tongxin.ncb
文件 887 2009-04-15 18:54 4-tongxin\tongxin.sln
..A..H. 10752 2009-04-15 21:05 4-tongxin\tongxin.suo
文件 98304 2009-05-13 17:06 4-最小通信网.doc
目录 0 2009-04-15 23:40 4-tongxin\tongxin\Debug
目录 0 2009-04-15 23:40 4-tongxin\Debug
目录 0 2009-04-15 23:40 4-tongxin\tongxin
目录 0 2009-04-15 23:40 4-tongxin
----------- --------- ---------- ----- ----
2640591 22
相关资源
- 数据结构课程设计同学通讯录系统
- 数据结构课程设计 公园导游图
- 数据结构殷人昆版的课后答案
- 2006年湖北工业大学409数据结构试题
- 数据结构实验-魔王语言-源码加实验报
- 简单计算器的实现(数据结构)
- 简单计算器的实现(数据结构 修正版
- Fundamentals of Data Structure in C
- 北京邮电大学数据结构历年考研真题
- 原创数据结构Flash演示动画46个算法演
- 数据结构与算法课件ppt
- 数据结构考研试题历届试卷(附答案
- 数据结构课程设计 校园导游系统
- 计算机408天勤2019数据结构计算机考研
- 身份证信息管理系统
- 挑战程序设计竞赛2 算法和数据结构
- 单链表的基本操作(实验)
- 顺序表的基本算法(实验)
- 数据结构第二版配套课件及答案
- 数据结构课设-模拟电梯
- 物业费管理系统源码超详细注释附文
- 数据结构算术表达式求值实验报告
- 数据结构课程设计 表达式类型的实现
- 长整数的代数计算 算法
- 数据结构与程序设计考研试题精选及
- 山东大学数据结构部分笔记.rar
- 数据结构 (STL框架)Part 1
- 数据结构 课程设计 中缀算术表达式求
- 数据结构课程设计----表达式类型的实
- 数据结构课程设计表达式类型的实现
评论
共有 条评论