图算法图的遍历

图算法图的遍历图的遍历是指从图中的任一顶点出发,对图中的所有顶点访问一次且只访问一次

图的遍历操作是图的一种基本操作,图的许多操作都建立在遍历操作的基础之上

 由于图中节点之间的关系是任意的,所以图的遍历要比树的遍历复杂,主要表现在以下四个方面:(1)在图结构中,没有一个明显的首结点,图中任意一个顶点都可作为第一个被访问的结点,所以要提供首结点

(2) 在非连通图中,从一个顶点出发,只能够访问它所在的连通分量上的所有顶点,因此,还需考虑如何选取下一个出发点,以访问图中其余的连通分量

(3)在图结构中,可能有回路存在,那么一个顶点被访问之后,有可能沿回路又回到该顶点,在访问之前,需要判断结点是否已经被访问过

(4)在图结构中,一个顶点可以和其它多个顶点相连,当这样的顶点访问过后,存在如何选取下一个要访问的顶点的问题

 因此,在遍历图时,为保证图中各顶点在遍历的过程中访问且仅一次,需要为每个顶点设计一个访问标记,设置一个数组,用于标示图中每个顶点被访问过,它的初始值全部为0,表示顶点均未被访问过;某个顶点被访问后,将相应访问标志数组中的值设为1,以表示该顶点已经被访问过

通常,图的遍历有两种:(1)深度优先遍历搜索;(2)广度优先遍历搜索

 

以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。

相关