肂薇螅数学与计算机学院羁课程设计说明书袀蚇课程名称:数据结构与算法课程设计膆课程代码:蚃题目:图的遍历和最小生成树虿年级/专业/班:2011级软工一班螇学生姓名:莃学号:肁开始时间:2012年12月24日莈完成时间:2012年1月3日螆课程设计成绩:螄学与实际能力(20)蒁创新(5)袆说明书(计算书、图纸、分析报告)撰写质量(45)膅总分(100)芁膀羆薆羃罿指导教师签名:年月日肆羇目录(小三黑体,居中)蒁羂引言……………………………………………………………………………1膆1需求分析……………………………………………………………………肄2概要设计……………………………………………………………………膂3详细设计……………………………………………………………………螁4调试分析……………………………………………………………………芆5用户使用说明………………………………………………………………蒄6测试结果……………………………………………………………………袄7结论………………………………………………………………………蕿致谢……………………………………………………………………………莆参考文献………………………………………………………………………袅(目录左对齐,,未具体指明使用字体的均为小四宋体,以下同)莂芈莆(目录中最多放二级标题。注意看页面的规范要求。尤其注意页眉。页眉从目录开始)芆肄莁蒅蒃蒂肀薅袄芄衿罿芅摘要蚂图是一种比线形表和树更为复杂的数据结构。在图形结构中,节点之间的关系可以是任意的,图中任意两个数据元素之间都可能相关。本程序是采用邻接矩阵、邻接表、十字链表等多种结构存储来实现对图的存储。采用邻接矩阵即为数组表示法,邻接表和十字链表都是图的一种链式存储结构。对图的遍历分别采用了广度优先遍历和深度优先遍历。袂聿蚆莄关键词:图;存储结构;遍历蚁聿肇袁蒀腿膃薃芈艿薄肁芁荿羅螃肀引言葿数据结构是计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合。利用数据结构能解决许多实际问题,在各个方面都有非常不错的成就。莆通过本项课程设计,培养学生独立思考、综合运用所学有关相应知识的能力,使学生巩固《数据结构》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关;为了培养学生综合运用所学知识、独立分析和解决实际问题的能力,培养创意识和创新能力,使学生获得科学研究的基础训练。为后续各门计算机课程的学习和毕业设计打下坚实基础。同时,可以利用这次机会来检验自己的c++数据结构水平,提高自己的写作水平,锻炼自己的动手能力。膁而此次课程设计的任务和意义在于:增强自己的动手能力,利用VC++,以及最小生成树算法,增强自己的调试程序和测试程序的能力。;袃程序处理输入数据,以十字链表,邻接矩阵和邻接链表的形式输出;薈根据已建成的图,程序实现图的深度优先遍历,广度优先遍历;蚈显示图的最小生成树,连同分量的实现;羄采用邻接矩阵、邻接表、十字链表等多种结构存储来实现对图的存储。:66abcdefab2ae6ad5bd4bc1bf3蚈邻接链表测试数据:78abcdefgabaeacafbgbddgcf莅十字链表测试数据:{薀数据对象:V{具有相同特征的数据元素,即V顶点集}腿数据关系:E={VR}袈VR={<v,w>|v,w∈V,<>表示顶点v和顶点w之间的边;}膇基本操作:初始化空图;节输入建立图;膁广度优先遍历;羈深度优先遍历;芃最小生成树;羄},主要可以分为一下三个大的模块:蚄邻接矩阵存储结构;蒂邻接链表存储结构;虿十字链表存储结构;膈其中每个模块又包涵其它相应的子功能模块。 各功能模块(四号黑体)(AdjMWGraph)类中肂voidkruscal_arc();//克鲁斯卡尔算法薇AdjMWGraph(); //构造函数螅voidCreatG(intn,inte);//建立一个图的邻接矩阵羁voidDepthF();//连通分量的实现袀voidBoradF();//连通分量的实现蚇voidPrintOut();//输出图的信息膆voidPrim();//普里姆算法蚃voidkruscal_arc()
图遍历与最小生成树实现 来自淘豆网m.daumloan.com转载请标明出处.