广度优先查找之迷宫问题

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

相关推荐

  • USA-IDC美国游戏服务器如何连接数百万玩家

    技术USA-IDC美国游戏服务器如何连接数百万玩家玩过网络游戏都知道,体验的很大一部分是与他人互动——无论是通过联盟合作还是在战斗中对峙。通过高性能大带宽的美国游戏服务器,所有这些人都能够相互交流。得益于全球网络CDN加

    礼包 2021年12月21日
  • 23种设计模式,三)抽象工厂模式

    技术23种设计模式,三)抽象工厂模式 23种设计模式(三)抽象工厂模式简要概括23种设计模式之抽象工厂模式三、抽象工厂模式
    ? 前面介绍的工厂方法模式中考虑的是一类产品的生产,如汽车厂商生产汽车,手机

    礼包 2021年11月23日
  • 10款好用的MySQL GUI工具分别是什么

    技术10款好用的MySQL GUI工具分别是什么这篇文章将为大家详细讲解有关10款好用的MySQL GUI工具分别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。My

    攻略 2021年11月29日
  • HTTP与HTTPS有什么区别和联系

    技术HTTP与HTTPS有什么区别和联系HTTP与HTTPS有什么区别和联系,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。HTTP与HTTPS有什么区别

    攻略 2021年11月12日
  • 如何在windows下安装MySQL5.0

    技术如何在windows下安装MySQL5.0小编给大家分享一下如何在windows下安装MySQL5.0,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了

    攻略 2021年11月1日
  • selenium UI自动化怎么实现

    技术selenium UI自动化怎么实现本篇内容介绍了“selenium UI自动化怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅

    攻略 2021年12月11日