经典算法题
走迷宫算法:从矩阵mat左上角,走到右下角,求最短路径(广度优先搜索方法)
import copy
import queue
def maze(mat):
'''走迷宫算法,从矩阵mat左上角,走到右下角,求最短路径,使用广度优先搜索方法'''
m = len(mat) #row
n = len(mat[0]) #col
label = copy.deepcopy(mat) # 用来标记是否访问过,以及是否可以访问
path = [[(-1, -1) for _ in range(n)] for _ in range(m)] # 保存到达这一点的前一个坐标
q = queue.Queue()
q.put((0, 0)) #队列,实现广度优先搜索
label[0][0] = 1 #如果允许修改原矩阵mat,那么可以直接在mat矩阵上标记,例如标记为2
while not q