DFS 深度优先搜索
DFS 深度优先搜索
运用栈类,递归思想
DFS本质就是一个栈,在写的时候并不显示的表现栈,在系统内部调用的时候是一个栈结构
递归:
boolean DFS(Node cur, Node target, Set<Node> visited) {
return true if cur is target;
for (next : each neighbor of cur) {
if (next is not in visited) {
add next to visted;
return true if DFS(next, target, visited) == true;
}
}
return false;
}
dfs优化:回溯
思路: 存储计算过的结果,达到简化计算的效果