广度优先查找之迷宫问题

技术广度优先查找之迷宫问题 广度优先查找之迷宫问题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)

相关推荐

  • 怎么理解php包装迭代器

    技术怎么理解php包装迭代器本篇内容介绍了“怎么理解php包装迭代器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、本

    攻略 2021年10月22日
  • 有哪些VS代码插件

    技术有哪些VS代码插件这篇文章主要介绍“有哪些VS代码插件”,在日常操作中,相信很多人在有哪些VS代码插件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”有哪些VS代码插件”的疑惑有所帮助!

    攻略 2021年11月2日
  • 孙悟空的人物特点,西游记关于孙悟空性格特点的句子

    技术孙悟空的人物特点,西游记关于孙悟空性格特点的句子1、外貌孙悟空的人物特点: 身穿金甲亮堂堂,头戴金冠光映映。手举金箍棒一根,足踏云鞋皆相称。一双怪眼似明星,两耳过肩查又硬。挺挺身才变化多,声音响亮如钟磬。尖嘴咨牙弼马

    生活 2021年10月25日
  • first的基数词,1-20的序数词与基数词

    技术first的基数词,1-20的序数词与基数词序数词: firstfirst的基数词, second, third ,fourth, fifth, sixth, seventh, eighth, ninth, ten

    生活 2021年10月24日
  • 控制流程语句

    技术控制流程语句 控制流程语句控制流程语句:
    语句:就是使用分号分的代码就是一个语句。
    顺序语句:就式从上往下执行所有代码就是语句。int i = 3;  //声明变量语句;  //空语句Sstem.o

    礼包 2021年12月13日
  • Postgres怎么使用trigger自动刷新物化视图

    技术Postgres怎么使用trigger自动刷新物化视图这篇文章主要讲解了“Postgres怎么使用trigger自动刷新物化视图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究

    攻略 2021年11月8日