如果你第一次听说,那么可以跟着小编来探索一次“广度优先搜索”的奥秘,看一下它的思想到底是怎么来的?比如我们经常坐地铁,从 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案例,是最为经典的,因此大家在遇到这样的问题,直接根据小编提供的内容学习即可哦~