港服(Server.HK)Python教程:python算法中什么是广度优先搜索?

如果你第一次听说,那么可以跟着小编来探索一次“广度优先搜索”的奥秘,看一下它的思想到底是怎么来的?比如我们经常坐地铁,从…

如果你第一次听说,那么可以跟着小编来探索一次“广度优先搜索”的奥秘,看一下它的思想到底是怎么来的?比如我们经常坐地铁,从 A 站到 F 站有多条行车路线,如何找出最短的一条呢?“广度优先搜索”通常用来解决两点间的最短路径问题。这也就广度优先搜索存在的意义,好啦,大家就跟着小编来学习看下吧~

最常见听到的案例,就是使用广度优先搜索实现 BFS 。

我们通过一组案例给大家详细讲述。

广度优先搜索访问的路径是:ABCDEF

A 到 F 的最短路径是 A – B – D – F

实现代码如下:

queue= 0
ue append(s)
seen= set0
seen. add(s)
parent=[s: None
while len(queue)> 0
nodes graph[vertex
or n in nodes
if n not in seen:
queue append(n)
seen. add(n)
parent[n]= vertex
return parent
parent= BFS(graph, "A")
node =F
while node != None:
print(node)
node= parent[node]

现在大家理解了什么广度搜索了吧?能够引用这个案例的内容并不多,其中BFS案例,是最为经典的,因此大家在遇到这样的问题,直接根据小编提供的内容学习即可哦~

为您推荐

港服(Server.HK)Python教程:如何实现对Python中列表的排序?

对List进行排序,Python提供了两个方法 方法1.用List的内建函数list.sort进行排序 list.sor...

港服(Server.HK)Python教程:python迭代器中的函数整理

1、可以连接迭代器的函数 chain:按顺序将多个迭代器连接成一个迭代器。 Cycle:重复迭代器的所有元素。 Tee:...

港服(Server.HK)Python教程:用Python举例实现逆波兰表达式

逆波兰表达式是编译原理中的一种基本表达式,利用Python语言也可以实现逆波兰表达式的输出,这里举例实践说明: 什么是逆...

Python 程序:检查给定字符串是否为回文

港服(Server.HK)Python教程: 用一个实例写一个 Python 程序来检查给定的字符串是不是回文。在 Py...

港服(Server.HK)Python教程:python3判断字典中key是否存在

今天来说一下如何判断字典中是否存在某个key,一般有两种通用做法,下面为大家来分别讲解一下: 第一种方法:使用自带函数实...
返回顶部