迷宫问题
栈-深度优先搜索
思路
回溯法
思路:从一个节点开始,任意找下一个能走的路(规定好方向,不走回头路)。当找不到能走的点时,退回去上一个点寻找是否有其他方向的点
使用栈存储当前的路径,栈空则表示没有路
例如:(规定寻找方向为上右下左)
0表示路,1表示墙
开始
到×处已经无路可逃,因此返回,直到√处可继续前进
随后到×处又无路可逃
因此返回,直到√处可继续前进
以此类推,直到终点
代码实现
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