图的广度优先遍历算法

前言

广度优先遍历算法是图的另一种基本遍历算法,其基本思想是尽最大程度辐射能够覆盖的节点,并对其进行访问。以迷宫为例,深度优先搜索更像是一个人在走迷宫,遇到没有走过就标记,遇到走过就退一步重新走;而广度优先搜索则可以想象成一组人一起朝不同的方向走迷宫,当出现新的未走过的路的时候,可以理解成一个人有分身术,继续从不同的方向走,,当相遇的时候则是合二为一(好吧,有点扯了)。

广度优先遍历算法的遍历过程

图

仍然以上一篇图的深度优先遍历算法的例子进行说明,下面是广度优先遍历的具体过程:

  1. 从起点0开始遍历
  2. 从其邻接表得到所有的邻接节点,把这三个节点都进行标记,表示已经访问过了
  3. 从0的邻接表的第一个顶点2开始寻找新的叉路
  4. 查询顶点2的邻接表,并将其所有的邻接节点都标记为已访问
  5. 继续从顶点0的邻接表的第二个节点,也就是顶点1,遍历从顶点1开始
  6. 查询顶点1的邻接表的所有邻接节点,也就是顶点0和顶点2,发现这两个顶点都被访问过了,顶点1返回
  7. 从顶点0的下一个邻接节点,也就是顶点5,开始遍历
  8. 查询顶点5的邻接节点,发现其邻接节点3和0都被访问过了,顶点5返回
  9. 继续从2的下一个邻接节点3开始遍历
  10. 寻找顶点3的邻接节点
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值