1
算法与数据结构  C语言版
1.9.3 7.3 图的遍历
7.3 图的遍历

图作为一种复杂的数据结构也存在遍历问题。图的遍历就是希望从图中的某个顶点出发,按某种方法对图中的所有顶点访问且仅访问一次。图的遍历算法是求解图的连通性问题、拓扑排序和关键路径等算法的基础。

图的遍历要比树的遍历复杂得多,由于图的任一顶点都可能和其余顶点相邻接,故在访问了某顶点之后,可能顺着某条边又访问到了已访问过的顶点,因此,在图的遍历过程中,必须记下每个访问过的顶点,以免同一个顶点被访问多次。为此给顶点附设访问标志visited,其初值为false,一旦某个顶点被访问,则其visited标志置为true。

图的遍历方法有两种:一种是深度优先搜索遍历(Depth-First Search,DFS);另一种是广度优先搜索遍历(Breadth_First Search,BFS)。