DFS 即深度优先查找算法(Depth-First Search),也是一种图的搜索(或遍历)算法。
DFS 会尽可能深的搜索树的分支。 当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。也就是说,DFS 会用递归。
DFS 的算法模式是:
func dfs(graph [][]int, p point) {
visited[p] = true
neighbors := getNeighbors(p);
for n := range neighbors {
if !visited[n] {
dfs(graph, n)
}
}
}