广度优先搜索(breadth-first search)处理是否有A到B的路径,如果有最短路径是什么。
思路:建立图---用广度优先搜索解决问题
在顺序检查是否为寻找的目标时,若目标存在,返回目标位置以及路径,若目标不存在,将目标的相关元素加入检查队列(queue)。
Note: 队列--FIFO--先进先出,在python中用deque来创建。
用散列表建立图,从起点开始,一个节点一个节点建立。queue.popleft()弹出一个元素。
另外还需要一个list去记录已经检查过得元素,以避免无限循环。
网友评论