dfs算法是什么?

如题所述

DFS是深度优先搜索算法。

深度优先搜索算法,又称DFS(Depth First Search)。DFS算法是一种搜索算法,而搜索算法实质上是一种枚举,即借助计算机的高性能来有目的地枚举一个问题的部分情况或这个问题的所有情况,进而求出问题的解的一种方法。

分类:

1. 顺序性剪枝

若一些题的搜索顺序对答案无影响,那么搜索顺序的不同会导致搜索树形态的改变,优先搜索分支较少的阶段,此时能减少搜索的规模。

2. 重复性剪枝

在搜索的时候如果有多种方式可以到达一个状态,那么只需要搜索一个分支就可以了。

3. 可行性剪枝

可行性剪枝是对搜索正确性的一个保证,当分支在递归边界的时候回溯。

4. 最优性剪枝

在搜索过程中,如果当前阶段的代价已经超过我们已知的最小代价,那么此时继续搜索下去就失去了意义。

5. 记忆化剪枝

记录搜索状态的结果,当重复遍历一个状态的时候就可以直接返回这个状态的答案,避免重复的搜索。

温馨提示:答案为网友推荐,仅供参考