- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京信息科技大学软件课程设计
北京信息科技大学
计算机软件基础课程设计
题 目: 最小生成树——最优通信网
学 院: 信息与通信工程学院
专 业: 通信工程专业
学生姓名: XXXX 班级/学号 通信14XX/2014XXXXX
指导老师: 李振松,曹林
起止时间: 9月10月题目 最小生成树——最优通信网(难度系数10,全部做出给100分) 主要
内容 设计
要求 主要
仪器
设备 Windows XP 操作系统、Microsoft Visual C++ 6.0、MSDN Library。 主要
参考
文献 侯俊杰. 深入浅出MFC(第二版)[M]. 武汉:华中科技大学出版社, 2001. 北京出版社, ..
[3] 孟彩霞. 计算机软件基础[M]. 陕西:西安电子科技大学出版社, 2003.
[4] 严蔚敏, 吴伟民. 数据结构[M]. 北京:清华大学出版社, 2005. 课程设计进度计划(起止时间、工作内容) 课程设计开始日期 课程设计完成日期 课程设计实验室名称 地 点
摘要
最小生成树——最优通信网对于这个题目,首先,我想到的是如何来构建一个通信网,也就是如何构建一张无向图,当然图在计算机内的存储有 很多种,我这里应用了邻接表来存储无向图,但是后来又将其转换成邻接矩阵和边集数组的形式来存储,一方面我想了解比对一下这几种存储方式,另一方面也使得接下来的prim算法和Kruskal算法的处理变得容易,再 说一下这两个最小生成树的算法,prim算法相比较而言更适合较多节点 的图,而Kruskal算法则更适合于较少节点的图,prim算法给我的感觉更像是顺藤摸瓜,它先有一个起始点,之后顺着这个点往下遍历,当找到最优路径时,我的想法是就把他们合为一个整体,依次将整个图的最优路径遍历出来,而Kruskal算法我感觉稍稍有一点不足,就是需要对权值进行排序,这在很多节点时就显得很不足,但这个算法对于节点很少的图来说非常好,基本上结果就是那个排好序的边集数组的前几项,当然如果形成环,就再加几项,我想这种情况也不是特别特别常见,因此很多时候不需要完整遍历整个图,所以相对较好一些,最后说一下输出,我这里采用邻接表和链接矩阵两种方式来做输出。
目录
任务书 1
摘要 2
目录 3
正文 4
参考文献 11
源代码 12
int main()
函数用途主函数是这个工程的入口函数函数调用菜单函数开始整个程序的运行void menu();
函数用途菜单函数询问用户接下来要做的事情void addHeadNode();
函数用途添加头节点void addNode();
函数用途添加普通节点
void change();
函数用途将邻接表转换成邻接矩阵
void completeNode();
函数用途完成输入输出当前的邻接表和邻接矩阵void MiniSpanTree_Prim();
函数用途prim算法计算输出最优路径int Find(int *parent,int f);
函数用途void MiniSpanTree_Kruskal();
函数用途
以下为概念部分即在学习过程中参考的一些概念或者别人的理解图的邻接矩阵存储方法跟树的孩子链表示法相类似,是一种顺序分配和链式分配相结合的存储结构。如这个表头结点所对应的顶点存在相邻顶点,则把相邻顶点依次存放于表头结点所指向的单向链表中。表结点存放的是邻接顶点在数组中的索引。对于无向图来说,使用邻接表进行存储也会出现数据冗余,表头结点A所指链表中存在一个指向C的表结点的同时,表头结点C所指链表也会存在一个指向A的表结点。
邻接表是图的一种最主要存储结构,用来描述图上的每一个点。对图的每个顶点建立一个容器(n个顶点建立n个容器),第i个容器中的结点包含顶点Vi的所有邻接顶点。实际上我们常用的邻接矩阵就是一种未离散化每个点的边集的邻接表。
在有向图中,描述每个点向别的节点连的边(点a-点b这种情况)。
在无向图中,描述每个点所有的边(点a-点b这种情况)
与邻接表相对应的存图方式叫做边集表,这种方法用一个容器存储所有的边。
普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小
文档评论(0)