哈尔滨工业大学计算机科学与技术学院
实验报告
课程名称:数据结构与算法
科学与技术四班
1110310422
课程类型:必修
实验项目名称:图型结构及其应用 实验题目:图的存储结构的建
立与遍历(搜索)
班级:计算机
学号:
姓名:胡明
一、实验目的
设计成绩 报告成绩 指导老师 (1)通过本实验,掌握建立邻接矩阵和邻接表的方法; (2)掌握邻接表和邻接矩阵的是深度优先递归和非递归算法,广度优先搜索算法;
(3)通过本实验,学会运用文件的读入和写出; 二、实验要求及实验环境
1、实验要求:
(1)能够建立(有向和无向)图的邻接矩阵和邻接表存储结构;
(2)能够在邻接矩阵和邻接表存储结构上对(有向和无向)图进行深度优先(递归和非递归都要求)和广度优先搜索; (3)能够存储和显示相应的搜索结果(深度优先或广度优先生成森林(或生成树)、深度优先或广度优先序列和编号); (4)以文件形式输入图的顶点和边,并显示相应的结果。要求顶点不少于10个,边不少于13个
(5) 软件功能结构安排合理,界面友好,便于使用
2、实验环境:带有Codeblocks的电脑
三、设计思想(本程序中的用到的所有数据类型的定义,主
程序的流程图及各程序模块之间的调用关系)
1、逻辑设计
(1)邻接矩阵的建立算法
1.确定图的顶点个数n和边数e; 2.输入顶点信息存储在一维数组vertex中; 3.初始化邻接矩阵;
4.依次输入每条边存储在邻接矩阵edge中; 4.1 输入
边依附的两个顶点的序号i, j;
4.2 将邻接矩阵的第i行第j列的元素值置为1;
4.3 将邻接矩阵的第j行第i列的元素值置为1。 (2)邻接表的建立算法
1. 确定图的顶点个数和边的个数;
2. 建立顶点表: 2.1 输
入顶点信息; 2.2 初始化该顶点的边表;
3. 依