- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构(C言语版本)课程设计报告-最小生成树的应用汇
武 夷 学 院
课程设计报告
课程 课程设计项目研究报告
目录
一、问题描述及基本要求 1 -
二、 实现本程序需要解决的问题如下 1 -
三、 测试数据 2 -
四、 算法思想 3 -
五、 模块划分 4 -
六、 算法设计与分析 7 -
七、 源程序 11 -
八、 测试数据 14 -
九、 课程设计项目进度表及任务分配表及任务分配表 15 -
十、 设计心得 16 -
十一 参考文献 17 -
一、为题描述及基本要求
在n个城市间建立通信网络,需架设n-1条线路。如何以最低经济代价建设此通信网,是一个最小生成树问题要求:(1)利用普利姆算法求网的最小生成树)输出生成树中各边及权值
二、实现本程序需要解决的问题如下
(1)、如何选择存储结构去建立一个带权网络。
(2)、如何在所选存储结构下输出这个带权网络。
(3)、如何实现prim算法的功能。
(4)、如何从每个顶点开始找到所有的最小生成树的顶点。
(5)、如何输出最小生成树的边及其权值。
此问题的关键在于如何实现prim算法,实现的过程中如何得到构成最小生成树的所有顶点,此外输出也是一个关键问题所在,在此过程中经过了多次调试。
首先我们对问题进行大致的概要分析:
这个问题主要牵涉到通过prim的基本算法思想实现程序所要求的功能,该算法的主要思想是:假设N=(V,{E})是连通网,TE是N上最小生成树中边的集合。算法从U={u0}( u0∈V),TE={}开始,重复执行下述操作:在所有u∈U,v∈V-U的边(u,v)∈E中找一条代价最小的边(u0,v0)并入集合TE,同时v0并入U,直至U=V为止。此时TE中必有n-1条边,则T=(V,{E})为N的最小生成树。
问题的输入数据的格式为:首先提示输入带权网络的顶点边数,我定义的为整形数据型,然后输入每一条边的信息,即边的两个顶点以及权值,是十进制整数类型,这样我们就建立一个带权网络,并用邻接矩阵来存储,生成一个方阵显示出来。
问题的输出数据格式为:输出是以邻接矩阵形式输出,以及从不同顶点开始生成的最小生成树。
题目要求以及达到目标:题目要求用prim算法实现给定无向网中边e和顶点n实现生成的最小生成树,输出生成树中的各边及权值。
三、测试数据
第一组
顶点数(vertices)、边数(edge):4、5
起始节点(starting)、下个节点(terminal)、权值(weights):1,2,1
1,3,2
2,4,5
3,4,4
1,4,6
预测结果1,21、1,32、3,44
第二组
顶点数(vertices)、边数(edge):6,10 ,
起始节点(starting)、下个节点(terminal)、权值(weights):1,2,6
1,3,1
1,4,5
2,3,5
2,5,3
3,5,6
3,4,5
3,6,4
4,6,2
5,6,6
预测结果1,31、3,64、6,42、3,25、2,53
四、算法思想
普里姆算法的基本思想:普里姆算法是另一种构造最小生成树的算法,它是按逐个将顶点连通的方式来构造最小生成树的。
?从连通网络 N = { V, E }中的某一顶点 u0 出发,选择与它关联的具有最小权值的边(u0, v),将其顶点加入到生成树的顶点集合U中。以后每一步从一个顶点在U中,而另一个顶点不在U中的各条边中选择权值最小的边(u, v),把该边加入到生成树的边集TE中,把它的顶点加入到集合U中。如此重复执行,直到网络中的所有顶点都加入到生成树顶点集合U中为止。
假设N=(V,{E})是一个连通网,TE是N上最小生成树中边的集合。则构造N的最小生成树的步骤如下:
? (1)初始状态,TE为{},U={u0},u0∈V;
? (2)在所有u∈U,v∈V-U的边(u,v) ∈E中找一条代价最小的边(u′,v′)并入TE,同时将v′并入U;
重复执行步骤(2)n-1次,直到U=V为止。
?在普里姆算法中,为了便于在集合U和(V-U)之间选取权值最小的边,需要设置两个辅助数组closest和lowcost,分别用于存放顶点的序号和边的权值。?????? 对于每一个顶点v∈V-U,closest[v]为U中距离v最近的一个邻接点,即边 (v,closest[v]) 是在所有与顶点v相邻、且其另一顶点j∈U的边中具有最小权值的边,其最小权值为lowcost[v],即lowcost[v]=cost[v][closest[v]],采用邻接表作为存储结构:
设置一个辅助数组:
?lowcost域?? 存放生成树顶点集合内顶点到生成树外各顶点的各边上的当前最小权值;
closest域? 记录生成树顶点集合外各顶点距离集合内哪个顶点最
您可能关注的文档
- 数学与应用数学毕业论文(设计)-求函数极限方法的探讨汇.doc
- 数学与应用数学毕业设计(论文)-几何画板辅助初中数学概念教学的案例设计汇.doc
- 数学与应用数学毕业设计(论文)-基于二维小波的弹性板损伤识别汇.doc
- 数学与应用数学毕业设计(论文)-微积分及其应用汇.doc
- 数学与应用数学毕业设计(论文)-排队系统的服务策略与评价体系汇.doc
- 数学专业毕业论文-函数的极值和最值及其应用汇.doc
- 数学专业毕业论文-基于高校教育收费问题的数学模型与定性分析汇.doc
- 数学专业毕业论文-多元线性回归模型在工业生产总值预测中的应用汇.doc
- 数学专业毕业论文-导数在高中数学教学中的应用汇.doc
- 数学专业毕业论文-导数在解题中的应用汇.doc
最近下载
- 网络空间信息安全(第2版)习题与思考题参考答案.pdf
- 微肿瘤PTC体外药敏检测服务2023年.pdf VIP
- 教科版四年级科学上册第三单元《第1课让小车运动起来》优秀教学设计.docx VIP
- 病例报告表完整版.doc
- 电影售票管理平台.docx
- 统编版语文三年级上册《对话中提示语的位置及标点》课件.pptx VIP
- AQ_ 4272-2016 铝镁制品机械加工粉尘防爆安全技术规范.pdf
- 4第四章-金融市场及其构成(货币金融学(蒋先玲编著)第3版ppt课件可编辑).pptx
- 部编版语文二年级下册 第三单元大单元任务群“发现汉字的秘密”(一等奖创新教学设计).pdf VIP
- 《活着》读书分享.pptx VIP
文档评论(0)