如果你第一次听说,那么可以跟着小编来探索一次“广度优先搜索”的奥秘,看一下它的思想到底是怎么来的?比如我们经常坐地铁,从 A 站到 F 站有多条行车路线,如何找出最短的一条呢?“广度优先搜索”通常用来解决两点间的最短路径问题。这也就广度优先搜索存在的意义,好啦,大家就跟着小编来学习看下吧~
最常见听到的案例,就是使用广度优先搜索实现 BFS 。
我们通过一组案例给大家详细讲述。
广度优先搜索访问的路径是:ABCDEF
从 A 到 F 的最短路径是 A - B - D - F
实现代码如下:
queue=0 ueappend(s) seen=set0 seen.add(s) parent=[s:None whilelen(queue)>0 nodesgraph[vertex orninnodes ifnnotinseen: queueappend(n) seen.add(n) parent[n]=vertex returnparent parent=BFS(graph,"A") node=F whilenode!=None: print(node) node=parent[node]
现在大家理解了什么广度搜索了吧?能够引用这个案例的内容并不多,其中BFS案例,是最为经典的,因此大家在遇到这样的问题,直接根据小编提供的内容学习即可哦~