普里姆算法求最小生成树

普里姆算法求最小生成树

ID:29444988

大小:260.50 KB

页数:24页

时间:2018-12-19

普里姆算法求最小生成树_第1页
普里姆算法求最小生成树_第2页
普里姆算法求最小生成树_第3页
普里姆算法求最小生成树_第4页
普里姆算法求最小生成树_第5页
资源描述:

《普里姆算法求最小生成树》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用标准文案沈阳航空航天大学课程设计报告课程设计名称:数据结构课程设计课程设计题目:Prim算法求最小生成树院(系):计算机学院专业:计算机科学与技术(物联网方向)班级:学号:姓名:指导教师:精彩文档-22-实用标准文案学术诚信声明本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。报告资料及实验数据若有不实之处,本

2、人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。本人签名:日期:2015年1月15日精彩文档-22-实用标准文案沈阳航空航天大学课程设计任务书课程设计名称数据结构课程设计专业计算机科学与技术(物联网方向)学生姓名班级学号题目名称Prim算法生成最小生成树起止日期2015年1月5日起至2015年1月16日止课设内容和要求:在n个城市之间建立网络,只需保证连通即可,求最经济的架设方法,利用Prim算法输出n个城市之间网络图,输出n个节点的最小生成树。其中,n个城市表示n个节点,两个城市间如果有路则用边连接,生成一个n个节点的边权树,要求键盘输入。参考

3、资料:《算法与数据结构,严蔚敏、 吴伟民,清华大学出版社,2006》《C语言程序设计,谭浩强,清华大学出版社,2010》教研室审核意见:教研室主任签字:指导教师(签名)年月日学生(签名)2015年1月15日精彩文档-22-实用标准文案目录学术诚信声明-1-一课程设计目的和要求-4-1.1课程设计目的-4-1.2课程设计的要求-4-二实验原理分析-5-2.1最小生成树的定义-5-2.2Prim算法的基本思想-5-三概要分析和设计-7-3.1概要分析-7-3.2概要设计-8-四测试结果-13-4.1实验一-13-4.2实验二-13-4.3实验三-14-参考文献-15-附录(关键

4、部分程序清单)-16-精彩文档-22-实用标准文案一课程设计目的和要求1.1课程设计目的(一)根据算法设计需要,掌握连通网的数据表示方法;(二)掌握最小生成树的Prim算法;(三)学习独立撰写报告文档。1.2课程设计的要求在n个城市之间建立网络,只需保证连通即可,求最经济的架设方法,利用Prim算法输出n个城市之间网络图,输出n个节点的最小生成树。其中,n个城市表示n个节点,两个城市间如果有路则用边连接,生成一个n个节点的边权树,要求键盘输入。精彩文档-22-实用标准文案二实验原理分析2.1最小生成树的定义一个有n个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所

5、有n个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或Prim(普里姆)算法求出。(1).最小生成树的概述在一给定的无向图G=(V,E)中,(u,v)代表连接顶点u与顶点v的边(即),而w(u,v)代表此边的权重,若存在T为E的子集(即)且为无循环图,使得w(T)最小,则此T为G的最小生成树。最小生成树其实是最小权重生成树的简称。(2).最小生成树的分析构造最小生成树可以用多种算法。其中多数算法利用了最小生成树的下面一种简称为MST的性质:假设N=(V,{E})是一个连通网,U是顶点集V的一个非空子集。若(u,v)是一条具有最小权值(代价

6、)的边,其中u∈U,v∈V-U,则必存在一棵包含边(u.v)的最小生成树。2.2Prim算法的基本思想假设G=(V,E)是一个具有n个顶点的连通网,T=(U,TE)是G的最小生成树,其中U是T的顶点集,TE是T的边集,U和TE的初值均为空集。算法开始时,首先从V中任取一个顶点(假定取V0),将它并入U中,此时U={V0},然后只要U是V的真子集,就从那些其一个端点已在T中,另一个端点仍在T外的所有边中,找一条最短(即权值最小)边,假定为(i,j),其中Vi∈U,Vj∈精彩文档-22-实用标准文案(V-U),并把该边(i,j)和顶点j分别并入T的边集TE和顶点集U,如此进行下

7、去,每次往生成树里并入一个顶点和一条边,直到n-1次后就把所有n个顶点都并入到生成树T的顶点集中,此时U=V,TE中含有n-1条边,T就是最后得到的最小生成树。可以看出,在普利姆算法中,是采用逐步增加U中的顶点,常称为“加点法”。为了实现这个算法在本设计中需要设置一个辅助数组closedge[],以记录从U到V-U具有最小代价的边。当辅助数组中存在两个或两个以上的最小代价的边时,此时最小生成树的形态就不唯一,此时可以在程序中采用递归的算法思想求出每个最小生成树。(1).在prim算法中要解决两个问题1)在无向网中,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。