数据结构实验报告(六)
一、实验名称
实验六 图的实验1——图的邻接矩阵存储实现
二、 实验目的
1、 熟练理解图的相关概念;
2、 掌握图的邻接矩阵的存储方法的实现;
3、 学会图的遍历算法
三、 实验内容
1、自己确定一个简单无向图(顶点数、和相关结点信息)利用邻接矩阵来实现存储。实现图的构造,并完成:
1) 用深度优先和广度优先两种算法对图进行遍历,输出顶点序列数据;
2) 以合理的格式,输出各个顶点的邻接点;
四、详细设计(C++)
1.算法设计
1. 对于无向图,顶点i的度等于邻接矩阵的第i行(或第i列)非零元素的个数。
2. 要判断顶点i和j之间是否存在边,只需测试邻接矩阵中相应位置的元素arc[i][j],若其值为1,则有边;否则,顶点i和j之间不存在边。
3. 找顶点i的所有邻接点,依次判别顶点i与其他顶点之间是否有边。
4. 用C++语言中的类实现基于邻接矩阵存储结构下图的抽象数据类型定义。由于图中顶点的数据类型不确定,因此采用C++的模板机制。
构造函数:
构造函数的功能是建立一个含有n个顶点e条边的图,假设建立无向图,算法用伪代码描述如下:
1.