图遍历的演示.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

haocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档