图的遍历演示 一.实验目的
[
问题描述]
很多涉及图上操作的算法都是以图的遍历为基础的。
试写一个程序,演示在连通的无向图上访问全部节点的操作。
[基本要求]
以邻接多重链表为存储结构。
实现连通无向图的深度和广度优先遍历。
以用户指定的节点为起点,分别输出每种遍历下的节点访问序列和相应生成树的边集。
二.实验内容 1、自定义数据类型
2、基本操作函数
3、主函数
三.实验思路
①首先访问起始顶点v,再访问图中与v相邻接的且未被访问过的任一顶点w1;
②再从w1出发,访问与w1相邻接的且未被访问过的任一顶点w2;
③从w2出发,重复与步骤②类似的访问,直至遇到一个所有邻接点均被访问过的顶点为止;
④沿刚才访问的次序,反向回到一个尚有邻接点未被访问过的顶点,再从该顶点出发,重复与步骤
③相类似的访问,直到所有的被访问过的顶点的邻接顶点均被访问过为止。
四.实验的结果及分析。
五.实验中出现的问题、解决方法和心得体会
本实验主要运用栈和图的知识,由于图掌握的不是很熟练,导致实验过程遇到困难很多,所以现在完成的这个实验还不是很完善,只能够实现深度优先搜索,我还将继续花多点时间研究一下广度优先搜索。
不过虽然还没完善,但基本功能已经实现且符合要求了。