定义(たぶん?):
1.是最简便的图的搜索算法之一。
2.宽度优先搜索算法(Breadth First Search)(BFS)。
3.使用队列(queu)来实现。
.系统的展开并检查图中的所有节点,以找寻结果。搜索整张图,知道找到结果。
过程:
1、 整个过程可以看做一个倒立的树形:
· 把根节点放到队列的末尾。
· 每次从队列的头部取出一个元素,查看这个元素所有的下一级元素,把它们放到队列的末尾。并把这个元素记为它下一级元素的前驱。
· 找到所要找的元素时结束程序。
· 如果遍历整个树还没有找到,结束程序。
2、 使用图片来进一步帮助理解过程:
现要从一个起点到一个终点,要找寻一条最短的路径。这里假设要求V0到V6的一条最短路径(每到下一个节点算一步)
初始为白色:
灰色为即将辐射到的
黑色为已经辐射到的
再将从黑色出发,下一步能够即将到达的标记为灰色
根据搜索过程,进行判断,以找出最短路径
优化:
宽度优先搜索的时间复杂度在许多情况下可能较大,一般可以借助哈希表来优化时间复杂度。