- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图遍历的演示
《数据结构》课程实验报告
题目:图遍历的演示
班级:
姓名:
学号:
专业:
学院:
完成日期:
需求分析
问题描述:
很多涉及图上操作的算法都是以图的遍历操作作为基础的。试写一个程序,演示在连通图的无向图上访问全部结点的操作。
基本要求:
以邻接多重表(选作内容邻接表)为存储结构,实现连通无向图的深度优先遍历和广度优先遍历。以用户指定的结点为起点,分别输出每种遍历下的结点访问序列和相应生成树的边集
输入的形式和输入的范围:先输入顶点数N以及边数M,然后依次输入N个顶点,再按提示输入M条边的信息用(a-b 3)类似的形式
测试数据:
教科书图7.33部分信息
概要设计
抽象数据类型图的定义:
ADT Graph{
数据对象V:V是具有相同特性的的数据元素的集合,成为顶点集。
数据关系 R:
R={VR}
VR={ v,w| v,w ? V且P(v,w),v,w表示从v到w的弧,谓词P(v,w)定义了弧v,w的意义或信息 }
基本操作 P:
locatevex(G, mes);
初始条件:图G存在,mes和G中顶点有相同的特征。
操作结果:若G中存在顶点u,则返回该顶点在图中位置;否则返回其他信息。
createudn( G);
初始条件:图G 存在。
操作结果:创建无向图。
createdn( G);
初始条件:图G 存在。 操作结果:创建有向图。
createudg( G);
初始条件:图G 存在
操作结果:创建无向网。
createdg( G);
初始条件:图G 存在。
操作结果:创建有向网。
DFS(G,v);
初始条件:图G已经存在并被赋值,v是图中某个顶点的位置坐标。
操作结果:深度优先搜索遍历图G,访问顶点时使用函数
visit. BFS(G,v);
初始条件:图G已经存在并被赋值,v是图中某个顶点的位置坐标。
操作结果:广度优先搜索遍历图G,访问顶点时使用函数
visit. visit( a);
初始条件:a为图中的某个顶点值。
操作结果:访问顶点a,本程序中作用结果为输出顶点值。 }ADT Graph
.邻接表存储结构的图定义:
ADT algraph{
数据对象V:V是具有相同特性的的数据元素的集合,成为顶点集。
数据关系 R:
R={VR}
VR={ v,w| v,w ? V且P(v,w),v,w表示从v到w的弧,谓词P(v,w)定义了弧v,w的意义或信息 }
基本操作 P: locatevex(G, mes);
初始条件:图G存在,mes和G中顶点有相同的特征。
操作结果:若G中存在顶点u,则返回该顶点在图中位置;否则返回其他信息。
createudn( G);
初始条件:图G 存在。
操作结果:创建无向图。
createdn( G);
初始条件:图G 存在。
操作结果:创建有向图。
Createudg( G);
初始条件:图G 存在。
操作结果:创建无向网。
createdg( G);
初始条件:图G 存在。
操作结果:创建有向网。
DFS(G,v);
初始条件:图G已经存在并被赋值,v是图中某个顶点的位置坐标。
操作结果:深度优先搜索遍历图G,访问顶点时使用函数
visit. BFS(G,v);
初始条件:图G已经存在并被赋值,v是图中某个顶点的位置坐标。
操作结果:广度优先搜索遍历图G,访问顶点时使用函数visit.
visit( a);
初始条件:a为图中的某个顶点值。
操作结果:访问顶点a,本程序中作用结果为输出顶点值。 }ADT algraph
(3)设定队列的抽象数据类型定义:
ADT Queue{
数据对象:D={ai|ai∈ElemSet, i=1,2, …,n, n≥0}
数据关系:R1={ai-1,ai|ai-1,ai∈D, i=1,2, …,n }
约定a1为队列头,an为队列尾。
基本操作:
InitQueue( Q )
操作结果:构造一个空队列Q。
DestroyQueue ( Q )
初始条件:队列Q已存在。
操作结果:销毁队列Q。
ClearQueue ( Q )
初始条件
文档评论(0)