数据--第42课 - 图的遍历

第42课 - 图的遍历

1. 图的遍历

从图的某一个顶点出发,沿着一些边访问图中所有的顶点,使得每个顶点仅被访问一次。

 

2. 分类

深度优先搜索DFS(Depth First Search)

广度优先搜索BFS(Breadth First Search)

 

3. 深度优先遍历

访问起始顶点v,当v还有邻接顶点未访问时,深度遍历未访问过的邻接顶点w。当v的所有邻接顶点都被访问时,若土整所有顶点均已访问,所发结束,若图中还有为访问的顶点,以为访问的顶点作为起始顶点深度遍历。

 

关键:

整个过程需要一个标记顶点是否被访问过的辅助数组visited[]。

 

4. 广度优先遍历

(1)      访问起始顶点v0

(2)      一次访问v0的各个邻接点v0,v1,...,v0x

(3)      假设最近一次访问的顶点一次为vi1,vi2,...,viy,则一次访问vi1,vi2,...,viy的未被访问的邻接点。

(4)      重复3,直到所有的顶点均被访问。

l  广度优先遍历是一种层次遍历,需要借助队列来实现。

 

关键:整个过程需要一个标记顶点是否被访问过的辅助数组visited[]。

 

 

 

5. 程序

见41节程序。

 

小结:

广度优先遍历与深度优先遍历是图结构的基础算法,也是其他图算法的基础。

posted @ 2019-08-11 18:48  free-锻炼身体  阅读(140)  评论(0编辑  收藏  举报