广度优先搜索 Breadth-First Search

解决最短路径问题的算法被成为广度优先搜索。
步骤

1、 使用图来建立模型
2、 使用广度优先搜索解决问题

图有节点和边构成。
一个节点可能和众多节点直接相连,这些节点被成为邻居。
在这里插入图片描述

队列

队列是一种先进先出 (first in first out )的数据结构,而栈是一种后进先出 ( last in first out) 的数据结构。

有无箭头指向

有向图

在这里插入图片描述

无向图

在这里插入图片描述

BFS算法

在这里插入图片描述

小结:

广度优先搜索指出是否有从A到B的路径
如果有,广度优先搜索将找出最短路径
面临类似于寻找最短路径的问题时,可尝试使用图来建立模型,再使用广度优先算法解决问题
有向图汇中的边为箭头,箭头的方向指向了关系的方向。
无向图中的边不带箭头,其中的关系是双向的。
队列是先进先出的。
栈是后进先出的。
你需要按加入顺序检查搜索列表中的人,否则找到的就不是最短路径,因此必须是队列。
对于检查过的人,务必不要再去检查,否则可能会导致无限循环。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值