实验六图的创建及应用I.pdfVIP

  • 0
  • 0
  • 约4.07万字
  • 约 14页
  • 2020-02-26 发布于四川
  • 举报
. 姓名 学号 实 验 图的创建及应用( I ) 项 目 实 1.编写算法,由依次输入的顶点数目、弧的数目、各顶点的信息和各条弧的信息建 立有向图的邻接矩阵和邻接表存储结构并输出显示。 (题集 150 页 5.3 扩充) 验 存储结构定义分别参见教材第 161 页和第 163 页。 2.试基于图的深度优先搜索策略写一算法,判别以邻接表方式存储的有向图中是否 内 存在由顶点 vi 到顶点 vj 的路径( i ≠j )。注意:算法中涉及的图的基本操作必须在此 存储结构上实现。 (题集第 49 页 7.27 ) 容 算法设计与程序实现: 本 次 实 验 主 函 数 采 用 循 环 选 择 结 构 , 主 函 数 调 用 自 己 编 写 的 头 文 件 算 DataStructure_Graph.h 中的相关功能函数,完成实验要求。 主程序结构: 法 1、邻接矩阵表示法: 1、创建有向图; // 调用 CreateGraph(MG) 创建有向图 分 2 、显示图信息; // 调用 DisplayGraph(MG) 显示图信息 3 、返回上一界面; 析 2 、邻接表表示法: 1、创建有向图; // 调用 CreateGraph(ALG) 创建有向图 2 、显示图信息; // 调用 DisplayGraph(ALG) 显示图信息 3 、返回上一界面; 3 、基于深度优先搜索判断是否存在指定位置的路径: 1、使用已创建的邻接表表示的图进行搜索判断 ; // 调用 exist_path_DFS(ALG, i, j) 搜索 2 、创建新的图进行搜索判断; // 创建新的有向图,并调用 exist_path_DFS(R_ALG, i, j) 搜索 3 、返回上一界面; 4 、退出程序 创建图的算法分析 邻接矩阵结构创建图: 首先由键盘输入待创建的图的顶点数,弧数以及是否含有弧信息,然后由顶点数 控 制 循 环 构 造 顶 点 向 量 , 接 着 由 顶 点 数 控 制 循 环 初 始 化 邻 接 矩 阵 (adj=0,info=NUll) ,再次输入弧信息,此时将输入的弧的弧头和弧尾与顶点信 息进行匹配,从而确定弧在邻接矩阵中的位置 ( 有弧时为 1) ,如果输入的弧有信 息的话,在进行有无弧的判断写邻接矩阵时进行绑定,有键盘输入即可。 . . 邻接表结构创建图: 首先由键盘输入待创建的图的顶点数,弧数,然后由顶点数控制循环初始化顶点 信息 ( 顶点数据信息及顶点第一条弧指针 (firstarc = NULL)), 接着由弧数控制循 环输入弧头和弧尾顶点,与之前建立的顶点信息进行匹配,从而确定弧头和弧尾 的位置信息,此时生成一个弧结点类型的存储空间,采用单链表中在表头插入新 结点的方法,将弧的信息插入到顶点的第一条弧之后,如同此法,对每个顶点都 进行以上操作,这就建立了图的邻接表结构。 深度优先搜索判断是否存在指定位置的路径算

文档评论(0)

1亿VIP精品文档

相关文档