学习日记-07-关于 广度优先搜索

广度优先搜索(breadth-first search)处理是否有A到B的路径,如果有最短路径是什么。

思路:建立图---用广度优先搜索解决问题

在顺序检查是否为寻找的目标时,若目标存在,返回目标位置以及路径,若目标不存在,将目标的相关元素加入检查队列(queue)。

Note: 队列--FIFO--先进先出,在python中用deque来创建。

用散列表建立图,从起点开始,一个节点一个节点建立。queue.popleft()弹出一个元素。

另外还需要一个list去记录已经检查过得元素,以避免无限循环。

你可能感兴趣的:(学习日记-07-关于 广度优先搜索)