esc to dismiss

BFS

BFS 即广度优先查找算法(Breadth-First Search),是一种图的搜索(或遍历)算法。

BFS是从根节点开始,沿着树的宽度遍历树的节点。 如果所有节点均被访问,则算法中止。与之对应的是 DFS

BFS 的模式很明显:

// 定义一个 queue,作为待遍历的节点
for p := queue.Pop(); p != nil {
    points := getNeighbors(p);
    for _, pNext := range points {
        if visited[pNext] {
            queue.Push(pNext)
            visited[pNext] = true
        }
    }
}
x