esc to dismiss

DFS

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)
    }
    }
}
x