前言:此篇文章只是小菜鸟的自我练习,如有错误还请大家指出!
迷宫问题一直是一个十分经典的问题,其中涉及了一些深度优先搜索和广度优先搜索的知识,说白了其无非就是两个待解决的问题,一是如何找到出路,而是如何找到最短出路?
迷宫问题
问题一:迷宫的出路(用栈来解决问题)
如图,这是一个迷宫,首先我们需要用二位列表模拟出一个迷宫,墙(即走不通的地方)标记为1,能走的路标记为0,代码如下图所示:
maze = [
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 0, 0, 1, 0, 0, 0, 1, 0, 1],
[1, 0, 0, 1, 0, 0, 0, 1, 0, 1],
[1, 0, 0, 0, 0, 1, 1, 0, 0, 1],
[1, 0, 1, 1, 1, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 1, 0, 0, 0, 0, 1],
[1, 0, 1, 0, 0, 0, 1, 0, 0, 1],
[1, 0, 1, 1, 1, 0, 1, 1, 0, 1],
[1, 1, 0, 0, 0, 0, 0, 0, 0, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
] # 迷宫的构建