广度优先查找之迷宫问题

技术广度优先查找之迷宫问题 广度优先查找之迷宫问题1 from collections import deque2 3 maze = [4 [1, 1, 1, 1, 1, 1, 1, 1, 1,

广度优先查找之迷宫问题

一来自集合导入

2

3迷宫=[

4 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],

5 [1, 0, 0, 1, 0, 0, 0, 1, 0, 1],

6 [1, 0, 0, 1, 0, 0, 0, 1, 0, 1],

7 [1, 0, 0, 0, 0, 1, 1, 0, 0, 1],

8 [1, 0, 1, 1, 1, 0, 0, 0, 0, 1],

9 [1, 0, 0, 0, 1, 0, 0, 0, 0, 1],

10 [1, 0, 1, 0, 0, 0, 1, 0, 0, 1],

11 [1, 0, 1, 1, 1, 0, 1, 1, 0, 1],

12 [1, 1, 0, 0, 0, 0, 0, 0, 0, 1],

13 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],

14 ]

15迪拉姆=[

16x,y: (x,y 1),#右

17x,y: (x 1,y),#下

18x,y: (x,y-1),#左

19x,y: (x-1,y),#上

20 ]

21

22

23 def打印_迷宫_路径(路径):

24打印('迷宫的最短路径为)

25 real_path=[]

26 cur_node=路径[-1]

27 while cur_node[2]!=-1:

28实数_path.append(cur_node[:2])

29 cur_node=路径[cur_node[2]]

30 real_path.append(路径[0][:2])

31 real_path.reverse()

32打印(真实路径)

33

34

35 def迷宫_路径_队列(开始,结束):

36 m_queue=deque()

37m _ queue。追加(*(开始,-1))

38路径=[]

39迷宫[开始[0]][开始[1]]=2

40 while len(m_queue) 0:

41 cur_node=m_queue.popleft()

42 path.append(cur_node)

43 if路径[-1][:2]==end:

44 print_maze_path(路径)

45返回真

46表示目录:中的目录

47 next_node=dir(cur_node[0],cur_node[1])

48 if maze[next _ node[0]][next _ node[1]]==0:

49迷宫[next_node[0]][next_node[1]]=2

50 m_queue.append((*next_node,len(path)-1))

51 else:

52 # 主要操作可用来调整小路序列,介于问题的复杂度,不进行操作

53关

54 else:

55打印('不存在能出迷宫的路径)

56返回假

57

58

59 if __name__=='__main__':

60迷宫_路径_队列((1,1),(1,8))

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/135152.html

(0)

相关推荐

  • 如何实现element穿梭框性能优化

    技术如何实现element穿梭框性能优化这篇文章主要讲解了“如何实现element穿梭框性能优化”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何实现element穿梭框

    攻略 2021年10月26日
  • springboot整合druid

    技术springboot整合druid springboot整合druid一.SpringBoot整合Druid
    Druid是阿里巴巴的一个开源项目,是一个数据库连接池的实现,结合了C3P0、DBCP、

    礼包 2021年11月12日
  • mybatis的使用步骤

    技术mybatis的使用步骤 mybatis的使用步骤1.什么是mybatisMyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDB

    礼包 2021年11月19日
  • mysql中event怎么用

    技术mysql中event怎么用这篇文章主要为大家展示了“mysql中event怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中event怎么用”这篇文章吧。

    攻略 2021年11月2日
  • Java如何访问SSL enabled DB2 Database

    技术Java如何访问SSL enabled DB2 Database这篇文章给大家分享的是有关Java如何访问SSL enabled DB2 Database的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编

    攻略 2021年11月24日
  • VSCode如何进行规范配置

    技术VSCode如何进行规范配置这篇文章主要介绍了VSCode如何进行规范配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用这些配置规范并格式化你的代

    攻略 2021年11月1日