数据结构 - 广度优先遍历

广度优先搜索(BFS)算法以宽幅运动遍历图形并使用队列记住在任何迭代中发生死角时获取下一个顶点以开始搜索.

广度优先遍历

如上面给出的示例所示,BFS算法从A到B遍历到E到F首先到C和G最后到D.它使用以下规则.

  • 规则1 : 访问相邻的未访问顶点.将其标记为已访问.显示它.将其插入队列.

  • 规则2 : 如果找不到相邻的顶点,则从队列中删除第一个顶点.

  • 规则3 : 重复规则1和规则2,直到队列为空.

StepTraversal描述
1广度优先搜索第一步 初始化队列.
2广度优先搜索第二步 我们从访问 S (起始节点)开始,并将其标记为已访问.
3广度优先搜索第三步 然后我们从看到一个未访问的相邻节点小号的.在这个例子中,我们有三个节点,但按字母顺序我们选择 A ,将其标记为已访问并将其入队.
4广度优先搜索第四步 接着,来自 S
5广度优先搜索第五步 接下来,来自 S 的未访问的相邻节点是 C .我们将其标记为已访问并将其排队.
6广度优先搜索第六步 现在, S 没有未访问的相邻节点.所以,我们出列并找到 A .
7广度优先搜索第七步 A 我们将 D 作为未访问的相邻节点.我们将其标记为已访问并将其排队.

在此阶段,我们没有未标记(未访问)的节点.但是根据算法我们继续出列以获得所有未访问的节点.当队列清空时,程序就结束了.