小明进入了一个大型迷宫,他只有一个策略:沿一条路一直往前走,走到死胡同就退回上一个岔路口,换一条路继续走。
第1步:从入口往前走 → 到岔路口A,选左边的路
第2步:继续走 → 到岔路口B,选左边的路
第3步:走到死胡同!→ 退回岔路口B
第4步:从B走右边 → 又到死胡同!→ 退回B → B的路都走完了 → 退回A
第5步:从A走右边 → 找到了出口!🎉
一条路走到黑 → 走不通就回头 → 换条路继续!
这种"不撞南墙不回头"的策略,就是深度优先搜索(DFS)的核心思想。它总是优先往深处探索,直到无路可走才回头。
💡 DFS 的关键词
深入:优先往更深层次走,不急于探索旁边的路
回溯:走到死路就退回上一步,尝试其他选择
递归:DFS 天然适合用递归来实现 —— 每走一步就调用自身
DFS 是搜索算法的基石,后续的图论、回溯、动态规划都建立在 DFS 之上。