深度优先查找之迷宫问题
1 maze = [ 2 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1], 3 [1, 0, 0, 1, 0, 0, 0, 1, 0, 1], 4 [1, 0, 0, 1, 0, 0, 0, 1, 0, 1], 5 [1, 0, 0, 0, 0, 1, 1, 0, 0, 1], 6 [1, 0, 1, 1, 1, 0, 0, 0, 0, 1], 7 [1, 0, 0, 0, 1, 0, 0, 0, 0, 1], 8 [1, 0, 1, 0, 0, 0, 1, 0, 0, 1], 9 [1, 0, 1, 1, 1, 0, 1, 1, 0, 1], 10 [1, 1, 0, 0, 0, 0, 0, 0, 0, 1], 11 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1], 12 ] 13 dirs = [ 14 lambda x, y: (x+1, y), 15 lambda x, y: (x, y+1), 16 lambda x, y: (x-1, y), 17 lambda x, y: (x, y-1), 18 ] 19 20 21 def maze_path(start, end): 22 stack = [] 23 stack.append(start) 24 while len(stack) != 0: 25 cur_node = stack[-1] 26 if cur_node == end: 27 print('找到迷宫出路:') 28 print(stack) 29 return True 30 for dir in dirs: 31 next_node = dir(cur_node[0], cur_node[1]) 32 if maze[next_node[0]][next_node[1]] == 0: 33 stack.append(next_node) 34 maze[next_node[0]][next_node[1]] = 2 35 break 36 else: 37 stack.pop() 38 else: 39 print('没找到') 40 return False 41 42 43 if __name__ == '__main__': 44 maze_path((1, 1), (2, 8))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人