深度优先搜索(DFS)是一种用于遍历或搜索树或图数据结构的算法。该过程从根节点(在树的情况下)或任意节点(在图的情况下)开始,沿着每个分支尽可能深入探索,然后再回溯。本质上,DFS 是从起点深入树/图,当没有更多节点可探索时,它会回溯,沿着树/图向上移动。这个过程会一直重复,直到所有节点都被访问。这种算法常用于模拟游戏状态、解决谜题以及查找图中的连通分量。