- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计最小生成树问题 .doc
实习5、最小生成树问题
一、需求分析
问题描述
若要在n个城市间建设通信网络,只需要架设n-1条线路即可。如何以最低的经济代价建 设这个通信W,是一个W的最小生成树问题。
基本要求
利用克魯斯卡尔算法求网的最小生成树。
实现教科书6.5节中定义的抽象数据类型MFSeto以此表示构造生成树过程中的连通分 量。
⑶以文本形式输出生成树中各边以及它们的权值。
测试数据
4.实现提示
通信线路一旦建立,必然是双向的。因此,构造最小生成树的网一定是无向网。设图的顶 点数不超过30个,并为简单起见,网中边的权值设成小于100的整数,可利川C语言提 供的随机函数产生。
阁的存储结构的选取应和所做操作相适应。为了便于选择权伉最小的边,此题的存储结构 既不用邻接矩阵的数组表示法,也不选用邻接表,而是以存储边(带权)的数组表示图。
二、概要设计
ADT Gra ph{
数椐对象V: V是具有相同特性的数裾元素的集合,成为顶点集。
数据关系R: R={VR}
V,wev且P(V,表示从V到W的弧,谓词P(V,w}定义了弧<^77>的意义或信息}
基本操作:
CreateUDN ( *G)
操作结果:创建无向阁。
Mini SpanTree(G,minedge)(使用克里斯卡尔算法始终调试不成功只好改用普利姆算 法)
初始条件:图G存在。
操作结果:求图G的最小生成树。
PrintMinE dge(G,mine dge)
初始条件:阁G存在。
操作结果:输出图G的最小生成树。
}ADT Graph
三、详细设计(源代码)
(使用C语言吋指针参数传递总是出问题只好改用C++语言) #tdio.h
#in lib.h〉
#define MAX 10//本程序设最大顶点数为10 typede f struct
{
int vex num;//点数量
int arc num;//边数 US:
int arc s[MAX][MAX ];//边存储
char vexs [MAX];//点存储
}iGraph;
t ypedef str uct close
{
int ad jvex;
i nt endvex;
int lo wcost;//最小权值
}*closed ge,closedg es;
void CreateUDN(iG raph *G)
{//创建无向图
int i,j,m,k,l,cost;
char na me 1,name2;
printf(”请输入顶点数和边数(注意:边数大于或等于顶点数):\n);
scan f(%d %d,m);
getchar();
printf(请输入各个顶点名字:\n’’);
fo vexnum;i++)
{
scanf vexs[i]);
get char();
}
for(exnum;i++)
fo〉vexnum;j++)
G-arcs [i][j]=100; //初始化边的权值此程序设100为最大值
for(rcnum;i++)
{
printff请输入第%(1条边(输入格式为:端点1-端点2:权值):\n,i+l);
scanf (%c-%c:%d t);
getchar();
f -vexnum;j ++)//在表屮查找点
{
if(namel ==G-vexs[j])
k=j;
}
G-〉vexnum;m++)//卉:表屮査找点 {
if(name 2==G-〉vexs [mJ)
1 =m;
}
if(k ==1)//两个点如果相同,报错 {
i ―;
printf(输入错误的数据,请重新输入\n); conti nue;
}
G-arcs lkj[lj=cos t;//无向边赋权值 G-arc s[l][k]=co st;
}
//使输入的边赋值
for(i xnum;i++)
for vexnum;j++)
if(i=j)
G-〉arc s[il[jl=O;//如果端点相同,则不存在边 }
void MiniSpanTr ee(iGraph G,closedge
{//求最小生成树
int i,j,k,z;
int temp;
int cur rentmin;
k=0;
minedge=(c losedge)ma lloc((G.ve xnum+1 )*si zeof(close dges)); for(j=l;jj++)
{
min edge[j-1 ] .adj vex=k;
min edge|j-1 J.endvex=j;
min edge[j-1 ] .lo wcost=G .arcs[k] [j ];
}
G.vexnum-1 ;i++) cu rrentmin=m inedge[i].lowcost;
k=i;
foG.vexnum-1 ;j++)
{
if(m inedge[j].rre
您可能关注的文档
- 教育论文中职学校幼教专业普通话教学微探.doc
- 教育论文交互式电子白板在教学中的应用.doc
- 教育论文使爱心和表扬在班主任工作中发挥神奇作用.doc
- 教育论文依托新媒体信息技术推进中职学校英语教学的思考.doc
- 教育论文信息化教学在中职卫生学校学科教学中的应用成效分析.doc
- 教育论文信息技术下中职英语教学之我见.doc
- 教育论文在声乐教学中多种艺术形式的融合.doc
- 教育论文坚持做到十心铺就新教师成长之路.doc
- 教育论文基于工作过程的急救及重症监护技术教学实践与研究.doc
- 教育论文多媒体技术在中职物理教学中有效运用的探究.doc
- 《GB/T 19042.7-2025医用成像部门的评价及例行试验 第3-7部分:口腔颌面锥形束计算机体层摄影X射线设备成像性能验收和稳定性试验》.pdf
- GB/T 19042.7-2025医用成像部门的评价及例行试验 第3-7部分:口腔颌面锥形束计算机体层摄影X射线设备成像性能验收和稳定性试验.pdf
- GB/Z 17626.40-2025电磁兼容 试验和测量技术 第40部分:测量调制或畸变信号电气量的数字方法.pdf
- 中国国家标准 GB/Z 17626.40-2025电磁兼容 试验和测量技术 第40部分:测量调制或畸变信号电气量的数字方法.pdf
- 中国整车货运服务行业市场规模及未来投资方向研究报告.pdf
- 中国整车物流行业市场规模及未来投资方向研究报告.pdf
- 中国整车运输行业市场规模及未来投资方向研究报告.pdf
- 中国整箱装载运输行业市场规模及未来投资方向研究报告.pdf
- 中国整流电源设备行业市场规模及未来投资方向研究报告.pdf
- 中国整流电源行业市场规模及未来投资方向研究报告.pdf
最近下载
- PCL-5:创伤后应激障碍精准筛查量表.docx VIP
- 重庆市普通高中2025级学业水平考试信息技术复习题(一)高清版.docx VIP
- 云南省保山市2024-2025学年高二上学期期末质量监测语文试卷(图片版,含答案).docx VIP
- 初中物理液体的压强(动图).pptx VIP
- (正式版)SHT3551-2024石油化工仪工程施工及验收规范.pptx VIP
- 赤峰市松山区第八中学建设项目环评环境影响报告表.pdf VIP
- 新浙教版九年级上册初中科学全册教案.pdf VIP
- 电器插头塑料模具设计.docx VIP
- 室内精装修工程定位和测量放线施工方案.docx VIP
- 装表接电工-中级工习题+参考答案.docx VIP
原创力文档


文档评论(0)