学习日记-07-关于 广度优先搜索
2018-11-02 本文已影响0人
Adora_cdac
广度优先搜索(breadth-first search)处理是否有A到B的路径,如果有最短路径是什么。
思路:建立图---用广度优先搜索解决问题
在顺序检查是否为寻找的目标时,若目标存在,返回目标位置以及路径,若目标不存在,将目标的相关元素加入检查队列(queue)。
Note: 队列--FIFO--先进先出,在python中用deque来创建。
![](https://img.haomeiwen.com/i14594182/86d582d0bd974734.png)
用散列表建立图,从起点开始,一个节点一个节点建立。queue.popleft()弹出一个元素。
另外还需要一个list去记录已经检查过得元素,以避免无限循环。