《第3章栈和队列第7讲-队列的应用-求解迷宫问题ppt课件.pptx》由会员分享,可在线阅读,更多相关《第3章栈和队列第7讲-队列的应用-求解迷宫问题ppt课件.pptx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 栈和队列都是存放多个数据的容器。通常用于存放临栈和队列都是存放多个数据的容器。通常用于存放临时数据:时数据:如果先放入的数据先处理,则使用如果先放入的数据先处理,则使用队列队列。如果后放入的数据先处理,则使用如果后放入的数据先处理,则使用栈栈。3.2.4 用队列求解迷宫问题用队列求解迷宫问题1/12我吓了一跳,蝎子是多么丑恶
2、和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物使用使用一个队列一个队列qu记录走过的方块,该队列的结构如下记录走过的方块,该队列的结构如下: typedef struct int i,j;/方块的位置方块的位置 int pre/本路径中上一方块在队列中的下标本路径中上一方块在队列中的下标 Box;/方块类型方块类型typedef struct Box dataMaxSize; int front,
3、rear;/队头指针和队尾指针队头指针和队尾指针 QuType;/定义顺序队类型定义顺序队类型 这里使用的队列这里使用的队列qu不是环形队列不是环形队列(因为要利用出队的元素(因为要利用出队的元素找路径),因此在出队时,不会将出队元素真正从队列中删除,找路径),因此在出队时,不会将出队元素真正从队列中删除,因为要利用它输出路径。因为要利用它输出路径。2/12我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的
4、猜测没有错:表里边有一个活的生物当前方块当前方块front:当前方块在队列中的下标:当前方块在队列中的下标相邻方块相邻方块1i相邻方块相邻方块2i+1Qui.pre=frontQui+1.pre=front首先将入口进队。出队一个方块,考察如下:首先将入口进队。出队一个方块,考察如下:考察所有相邻可走方块考察所有相邻可走方块3/12我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活
5、的生物入口入口0方块方块方块方块方块方块方块方块方块方块方块方块方块方块出口出口所有搜索过的方块都在队列所有搜索过的方块都在队列中。中。最后通过队列找出从最后通过队列找出从出口出口 入口入口的一的一条迷宫条迷宫路径。路径。4/12我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物0123450 123 45int mgM+2N+2= /M=4,N=4 1, 1, 1, 1,
6、1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 ;0:(1,1) -1入口入口2:(2,1) 01:(1,2) 03:(1,3) 15:(2,3) 34:(3,1) 26:(3,2) 47:(2,4) 58:(3,3) 59:(4,2) 610:(4,3) 811:(4,4) 10出口出口迷宫路径迷宫路径: :(4,4)(4,3)(3,3)(2,3)(1,3)(1,2)(1,1)5/12我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的
7、世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物用队列求用队列求一条迷宫路径的一条迷宫路径的算法算法: (xi,yi) (xe,ye) 6/12我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物7/12我吓了一跳,蝎子是多
8、么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物8/12我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物对于图对于图3.7的迷宫,求解的迷宫,求解(1,1)(8,8)时队列
9、时队列qu中结果如下:中结果如下:下标下标ijpre011-1112022103221431253236414733585169347105281161812249135310147111下标下标ijpre151412162512176313181515192616206417211618226520235522247522254523265623278524284625295726下标下标ijpre30862731842732472833582934672935873036833137373238483239683340883540883535873030862727852422102475
10、2222652020641717631313531010528851664144312011-19/12我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物对于图对于图3.11的的迷宫,求解结果如下:迷宫,求解结果如下:显然,这个解是最优解,显然,这个解是最优解,即是最短路径。即是最短路径。10/12我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物11/12我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 12/12