最简单的寻路算法之一是广度优先搜索(BFS)。它的基本思想是从起点开始,按照深度优先的顺序搜索每一个结点,直到找到终点。
算法流程如下:
- 将起点结点加入队列。
- 当队列不为空时,取出队列首结点。
- 如果该结点为终点,则找到路径。
- 否则将该结点的所有相邻结点加入队列。
- 重复步骤2 ~ 4,直到找到终点或队列为空。
该算法的时间复杂度为O(V+E)
代码如下:
def BFS(graph, start, end):
queue = []
queue.append(start)
while queue:
node = q