BFS(广度优先搜索)

Posted wade&luffy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BFS(广度优先搜索)相关的知识,希望对你有一定的参考价值。

广度优先搜索算法(Breadth-First-Search),是一种图形搜索算法。

简单的说,BFS是从根节点开始,沿着树(图)的宽度遍历树(图)的节点。如果所有节点均被访问,则算法中止。BFS同样属于盲目搜索。一般用队列数据结构来辅助实现BFS算法。

算法步骤:

1. 首先将根节点放入队列中。

2. 从队列中取出第一个节点,并检验它是否为目标。如果找到目标,则结束搜寻并回传结果。否则将它所有尚未检验过的直接子节点加入队列中。

3. 若队列为空(即所有节点都已检查),表示整张图都检查过了——即图中没有欲搜寻的目标。结束搜寻并回传“找不到目标”。

4. 重复步骤2。

 

以上是关于BFS(广度优先搜索)的主要内容,如果未能解决你的问题,请参考以下文章

搜索-广度优先搜索(BFS)

深度优先搜索DFS和广度优先搜索BFS

Python算法-深度优先搜索&广度优先搜索(DFS&BFS)

面试刷题:广度优先搜索BFS | 第91期

算法|图的遍历-广度优先搜索(BFS)

步步为营(十六)搜索BFS 广度优先搜索