数据结构课程设计报告(图的遍历).doc

数据结构课程设计报告(图的遍历).doc

ID:58656402

大小:67.00 KB

页数:16页

时间:2020-10-16

数据结构课程设计报告(图的遍历).doc_第1页
数据结构课程设计报告(图的遍历).doc_第2页
数据结构课程设计报告(图的遍历).doc_第3页
数据结构课程设计报告(图的遍历).doc_第4页
数据结构课程设计报告(图的遍历).doc_第5页
资源描述:

《数据结构课程设计报告(图的遍历).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、中南大学课程设计报告题目数据结构课程设计学生姓名指导教师漆华妹学院信息科学与工程学院专业班级学号完成时间2011年07月目录第一章、需求分析2第二章、概要设计22.1设定图的抽象数据类型22.2设定队列的抽象数据类型32.3本程序包含的功能模块3第三章、详细设计33.1顶点、边和图的类型63.2队列类型83.3主程序和其他伪码算法9第四章、调试分析9第五章、用户手册9第六章、测试结果10第七章、心得体会10附:源程序代码11图遍历的演示题目:试设计一个程序,演示在连通的无向图上访问全部结点的操作第一章、需求分析1、以邻接多重表为存

2、储结构;2、实现连通和非连通的无向图的深度优先和广度优先遍历;3、要求利用栈实现无向图的深度优先遍历;4、以用户指定的结点为起点,分别输出每种遍历下的结点访问序列和生成树的边集;5、用凹入表打印生成树;6、求出从一个结点到另外一个结点,但不经过另外一个指定结点的所有简单路径;6、本程序用C语言编写,在C-Free3.5环境下通过。第二章、概要设计1、设定图的抽象数据类型:ADTGraph{数据对象V:V是具有相同特性的数据元素的集合,称为点集.数据关系R:R={VR}VR={(v,w)

3、v,w属于V,(v,w)表示v和w之间存在的

4、路径}基本操作P:CreatGraph(&G,V,VR)初始条件:V是图的顶点集,VR是图中弧的集合.操作结果:按V和VR是定义构造图G.DestroyGraph(&G)初始条件:图G存在操作结果:销毁图GLocateVex(G,u)初始条件:图G存在,u和G中顶点有相同的特征操作结果:若图G中存在顶点u,则返回该顶点在图中的位置;否则返回其他信息GetVex(G,v)初始条件:图G存在,v是G中顶点操作结果:返回v的值FirstAjvex(G,v)初始条件:图G存在,v是G中顶点操作结果:返回v的第一个邻接顶点,若顶在图中没有邻

5、接顶点,则返回为空NextAjvex(G,v,w)初始条件:图G存在,v是G中顶点,w是v的邻接顶点操作结果:返回v的下一个邻接顶点,若w是v的最后一个邻接顶点,则返回空DeleteVexx(&G,v)初始条件:图G存在,v是G中顶点操作结果:删除顶点v已经其相关的弧DFSTraverse(G,visit())初始条件:图G存在,visit的顶点的应用函数操作结果:对图进行深度优先遍历,在遍历过程中对每个结点调用visit函数一次,一旦visit失败,则操作失败BFSTraverse(G,visit())初始条件:图G存在,vis

6、it的顶点的应用函数操作结果:对图进行广度优先遍历,在遍历过程中对每个结点调用visit函数一次,一旦visit失败,则操作失败}ADTGraph2、设定队列的抽象数据类型:ADTQueue{数据对象:D={ai

7、ai属于Elemset,i=1,2….,n,n>=0}数据关系:R1={

8、ai-1,ai属于D,i=1,2,…,n}约定ai为端为队列头,an为队列尾基本操作:InitQueue(&Q)操作结果:构造一个空队列QDestryoQueue(&Q)初始条件:队列Q已存在。操作结果:队列Q被销毁,不再存在。E

9、nQueue(&Q,e)初始条件:队列Q已经存在操作结果:插入元素e为Q的新的队尾元素DeQueue(&Q,&E)初始条件:Q为非空队列操作结果:删除Q的队尾元素,并用e返回其值QueueEmpty(Q)初始条件:队列已经存在操作结果:若队列为空,则返回TRUE,否则返回FLASE}ADTQueue3、本程序包含四个模块:1)主程序模块voidmain(){手动构造一个图;进行深度优先遍历图;进行广度优先遍历图;};2)手动构造一个图-自己输入图的顶点和边生成一个图;3)进行深度优先遍历图-打出遍历的结点序列和边集;4)进行广度优

10、先遍历图-打出遍历的结点序列和边集;第三章、详细设计1、顶点,边和图类型#defineMAX_INFO10/*相关信息字符串的最大长度+1*/#defineMAX_VERTEX_NUM20/*图中顶点数的最大值*/intvisited[MAX_VERTEX_NUM];/*全局变量,访问标志数组*/typedefcharInfoType;/*相关信息类型*/typedefcharVertexType;/*字符类型*/typedefenum{unvisited,visited}VisitIf;typedefstructEBox/*边结

11、点类型*/{intmark;/*访问标记*/intivex,jvex;/*该边依附的两个顶点位置*/structEBox*ilink,*jlink;/*分别指向依附这两个顶点的下一条边*/}EBox;typedefstructVexBox/*顶点结

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

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

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