本文为图论的学习总结,讲解图的遍历。
我们希望从图中某一顶点出发访问其余顶点,使每个顶点仅被访问一次,这一过程称为图的遍历。图的遍历算法是图的连通性问题、拓扑排序和求关键路径等算法的基础。
本质:通过边或弧找邻接点的过程。
通常有 2 种遍历图的算法:深度优先搜索(DFS)和广度优先搜索(BFS)。
DFS
深度优先搜索类似于树的先序遍历。
从图中某个顶点 v v v 出发,访问此顶点,然后依次从 v v v 的未被访问的邻接点出发深度优先遍历图,直到图中所有和 v v v 有路径相通顶点都被访问到;若此时图中尚有顶点未被访问,则另选图中一个未被访问的顶点作为起始点,重复上述过程,直到图中所有顶点都被访问到为止。
由此,上图中顶点的一种访问序列为: v 1 → v 2 → v 4 → v 8 → v 5 → v 3 → v 6 → v 7 v_1\to v_2\to v_4\to v_8\to v_5\to v_3\to v_6\to v_7 v1→v