我们知道,计算机的计算速度是比人脑快很多很多很多的。。。因此计算机可以将人脑无法一一枚举的状态或者说方式在很短的时间内枚举出来从而得出最终答案,于是便产生搜索的算法,实际上也算是暴力枚举吧,只不过是枚举的方式有各种各样。。在这篇文章中我将为大家介绍一种常用的枚举方法——深度优先搜索(DFS)
那么什么是深度优先搜索呢?顾名思义,就是每次都沿着同一个方式或者说方向枚举到最底端。。我们可以用树的一种遍历方法来形象描述,下面直接上图:
通过观察我们发现路线是不断的往树的深处漫延而形成的,不错这就是深度优先搜索。
那如果我们想把整棵树都走一遍那又该怎么办呢? 于是我们便要用到一种思想:回溯
那么回溯又是什么呢?继续上图:
通过观察从起点开始A-B-E之后已经到达最深处了(即无路可走了),这个时候我们退回B点,这就是回溯。。
相信仔细思考一下是都可以理解的。
好了,至于理论知识讲到这也差不多了,我的DFS专题里有不少DFS的题,大家可以结合具体例题来理解,下面附上链接:点击打开链接