一、定义深度优先搜索是一个针对图和树的遍历算法,英文缩写为DFS即Depth First Search。深度优先搜索是图论中的经典算法,利用深度优先搜索算法可以产生目标图的相应拓扑排序表,利用拓扑排序表可以方便的解决很多相关的图论问题,如最大路径问题等。
深度优先搜索(depth-first search)是对先序遍历(preorder traversal)的推广。我们从某个顶点v开始处理v,然后递归的便利所有与v邻接的顶点。如果这种过程是对一棵树进行,那么该树所有的顶点都将被系统地访问到。
图的遍历方式有深度优先搜索(Deep-first Search,一条道走到底)和宽度优先搜索(Breath-first Search,一层一层的遍历)两种。1 深搜深搜是对最新产生的节点(即深度最大的节点)先进行扩展的方法,把扩展的节点从栈中弹出删除。