算法之宽度优先搜索

宽度优先搜索(BFS)是图搜索算法的一种,利用队列数据结构进行节点的展开。该算法从根节点开始,逐层探索直到找到目标节点。在寻找最短路径问题中,BFS能保证找到最短的路径。当时间复杂度较高时,可以使用哈希表进行优化。
摘要由CSDN通过智能技术生成

算法之宽度优先搜索

定义(たぶん?):

1.是最简便的图的搜索算法之一。
2.宽度优先搜索算法(Breadth First Search)(BFS)。
3.使用队列(queu)来实现。
.系统的展开并检查图中的所有节点,以找寻结果。搜索整张图,知道找到结果。

过程:

1、 整个过程可以看做一个倒立的树形:
· 把根节点放到队列的末尾。
· 每次从队列的头部取出一个元素,查看这个元素所有的下一级元素,把它们放到队列的末尾。并把这个元素记为它下一级元素的前驱。
· 找到所要找的元素时结束程序。
· 如果遍历整个树还没有找到,结束程序。
2、 使用图片来进一步帮助理解过程:
现要从一个起点到一个终点,要找寻一条最短的路径。这里假设要求V0到V6的一条最短路径(每到下一个节点算一步)
初始为白色:
图源CSDN@不怕苦难的博客
灰色为即将辐射到的
图源CSDN@不怕苦难的博客
黑色为已经辐射到的
图源CSDN@不怕苦难的博客
再将从黑色出发,下一步能够即将到达的标记为灰色
图源CSDN@不怕苦难的博客
根据搜索过程,进行判断,以找出最短路径
图源CSDN@不怕苦难的博客

优化:

宽度优先搜索的时间复杂度在许多情况下可能较大,一般可以借助哈希表来优化时间复杂度。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值