7.5 图的遍历

图的遍历和树的遍历类似,从图中某一顶点出发访遍其余顶点,且使每一个顶点仅被访问一次,这一过程叫做图的遍历。分为深度优先遍历和广度优先遍历

7.5.1深度优先遍历

深度优先遍历(Depth_First_Search),也称深度优先搜索,简称为DFS

深度优先搜索其实是一个递归的过程,就像是一棵树的前序遍历,它从图中某个顶点V出发,访问此顶点,然后从V的未被访问的邻接点出发深度优先遍历图,直至图中所有和V有路径相同的顶点都被访问到。若图中尚有顶点未被访问,则令选图中一个未曾访问过的顶点作为起始点,重复上述过程,直至图中的所有顶点都被访问到为止。

如果是邻接矩阵,则代码如下

7.5 图的遍历_第1张图片

如果是邻接表结构,代码如下:

7.5 图的遍历_第2张图片

7.5.2广度优先遍历

1、从图中某个顶点V0出发,首先访问V0

2、依次访问V0的各个未被访问过的邻节点。

3、分别从这些邻接点出发,依次访问它们的各个未被访问过的邻接点。