作者说:
这个实验的算法在数据结构课本的P156~P157、P161~P162、P169~P170。
我觉得做这个实验挺顺利的,因为大部分的算法在课本上都给出了,虽然不详细,但是设计思想已经给出来了,实现起来就比较容易了。这个实验也是比较综合一点的,用到了前面的队列知识,因为在二叉树那一个练习中,我已经重新修改了队列的函数部分,所以可以直接拿过来这个实验中运用,也没有出现问题,真不错,还好我上一个实验里修改的很仔细,没想到间接的也为这个实验做了准备。图的存储结构我用的是书上的数组表示法,构造图的时候用的是邻接矩阵表示法,比较适合稠密图,而邻接表适合稀疏图。
深度优先遍历是递归方式实现,类似于树的先序遍历;广度优先遍历是利用队列实现,类似于树的层序遍历。这两种遍历都需要用到一个辅助数组visited,而且将其定义为布尔型的比较方便且省空间。
这次实验的注释我写的比较详细,因为确实有太多的细节,如果没有注意到就很难实现相关功能,因为实验8是选做,所以我就先做了实验9,等以后有时间了,我再去做实验8。继续加油!!!
一、运行效果截图
二、实验要求
(1)实验目的
通过该实验,使学生掌握图的几种存储结构,理解图的深度优先和广度优先遍历算法的思想和实现办法,
(2)实验内容
实现教材算法7.2利用邻接矩阵构造无向图的算法,在此基础上进行深度优先遍历和广度优先遍历。
(3)参考界面
(4)验收/测试用例
- 创建所示无向图
屏幕输出邻接矩阵:
0 1 0 0 0 1
1 0 1 1 0 0