
本文我们来讲解一下图的深度优先遍历算法(DFS),看完本文相信你对DFS算法的理解会更进一步。
DFS算法流程
**核心思想:**沿着一条分支尽可能往深处遍历,走到尽头再回溯,再探索其他分支,类似走迷宫一条路走到黑,无路可走回头换路。
- 设置访问标记集合 / 数组,避免重复访问节点、防止环路死循环。
- 递归函数参数:当前节点
- 终止条件:当前节点已经被访问,直接返回
- 标记当前节点已访问
- 处理当前节点(打印、记录数据、逻辑运算)
- 依次遍历当前节点所有相邻邻居
- 对每一个邻居:递归调用 DFS (邻居)
例题
例子是最好的学习工具,接下来我们以这个图为例,来详细讲解一下DFS算法的基本流程。
