算法丨广度优先搜索

Posted One丨Python

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法丨广度优先搜索相关的知识,希望对你有一定的参考价值。


广度优先搜索


广度优先搜索让你能够找出两样东西之间的最短距离,不过最短距离的含义有很多。


广度优先搜索是一种用于图的查找算法,可帮助回答两类问题


- 第一类问题:从节点A出发,有前往节点B的路径吗?

- 第二类问题:从节点A出发,前往节点B的哪条路径最短?


示例


- 假设经营一个芒果农场,需要寻找芒果销售商,以便将芒果卖给他。可在朋友中查找。


首先创建一个朋友名单。


假设没有朋友是芒果经销商,那么就必须在朋友的朋友中查找。


检查名单中的每个人时,都将其朋友加入名单。这样一来,不仅在朋友中查找,还在朋友的朋友中查找。目标就是在人际关系网中找到一个芒果销售商。因此,如果Alice不是芒果销售商,就将其朋友也加入到名单中。这意味着你将在她的朋友、朋友的朋友等中查找。


使用这种算法将搜遍你的整个人际关系网,查到找到芒果销售商。这就是广度优先搜索算法。

以上是关于算法丨广度优先搜索的主要内容,如果未能解决你的问题,请参考以下文章

广度优先搜索算法

图的广度、深度优先搜索和拓扑排序

深度优先搜索和广度优先搜索、A星算法三种算法的区别和联系?

算法题——深度优先搜索与广度优先搜索

深度优先搜索和广度优先搜索、A星算法三种算法的区别和联系?

算法专题 之 广度优先搜索