图的深度优先遍历(DFS)和广度优先遍历(BFS)详解
1. 图的基本定义
图(Graph)是由顶点(Vertex)和边(Edge)组成的集合。图可以分为无向图和有向图,根据是否带权重可以进一步分为带权图和无权图。
2. 深度优先遍历(DFS)
定义
深度优先遍历(Depth First Search, DFS)是一种图的遍历方式,它从一个起始顶点出发,尽可能深地探索每一个分支,直到不能前进为止,然后回溯到上一个顶点继续探索未访问的分支,直至所有顶点都被访问。
操作步骤
- 从起始顶点开始,将该顶点标记为已访问。
- 递归地访问所有未被访问的邻接顶点。
- 回溯到上一个顶点,继续访问未被访问的邻接顶点。