编写一个非递归算法,实现从顶点v出发的连通图G的深度优先搜索。
1. 【说明】
实现连通图G的深度优先遍历(从顶点v出发)的非递归过程。
【算法】
第一步:首先访问连通图G的指定起始顶点v;
第二步:从V出发,访问一个与v(1)p,再从顶点P出发,访问与p(2)顶点q,然后从q出发,重复上述过程,直到找不到存在(3)的邻接顶点为止。
第三步:回退到尚有(4)顶点,从该顶点出发,重复第二、三步,直到所有被访问过的顶点的邻接点都已被访问为止。
因此,在这个算法中应设一个栈保存被(5)的顶点,以便回溯查找被访问过顶点的未被访问过的邻接点。
实验目的:
(1)掌握图的两种存储结构的实现方法。
(2)掌握遍历图的递归和非递归算法。
(3)掌握和理解本实验中出现的一些基本的C语言语句。
(4)体会算法在程序设计中的重要性。
实验内容:
(1)设计算法,构造无向图的邻接链表,并递归地实现基于邻接链表的图的深度优先搜索遍历。
(2)设计算法,构造无向图的邻接矩阵,并递归地实现基于邻接矩阵的图的深度优先搜索遍历。
A、0 3 2 1
B、0 1 2 3
C、0 1 3 2
D、0 3 1 2
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!