数据结构课程设计报告-迷宫求解(递归与非递归)
《数据结构课程设计报告-迷宫求解(递归与非递归)》由会员分享,可在线阅读,更多相关《数据结构课程设计报告-迷宫求解(递归与非递归)(10页珍藏版)》请在毕设资料网上搜索。
1、 数据结构课程设计数据结构课程设计 迷宫求解迷宫求解 班级:班级: 学号:学号: 姓名:姓名: 指导老师:指导老师: 迷宫求解迷宫求解 1 1、 问题描述问题描述 输入一个任意大小的迷宫数据, 用递归和非递归两种方法求 出一条走出迷宫的路径,并将路径输出。 2 2、 设计思路设计思路 从入口出发,按某一方向向前探索,若能走通并且未走过,即某 处可以到达,则到达新点,否则试探下一个方向;若所有的方向均没 有通路,则沿原路返回前一点,换下一个方向再继续试探,直到找到 一条通路,或无路可走又返回入口点。 在求解过程中,为了保证在到达某一点后不能向前继续行走(无 路)时,能正确返回前一点以便继续从下一
2、个方向向前试探,则需要 用一个栈 (递归不需要递归不需要) 保存所能够到达的每一点的下标及从该点前 进的方向。设迷宫为 m 行 n 列,利用 mazemn来表示一个迷宫, mazeij=0 或 1;其中:0 表示通路,1 表示不通,当从某点向下 试探时,中间点有四个方向可以试探,而四个角点有两个方向,其他 边缘点有三个方向,为使问题简单化,用 mazem+2n+2来表示迷 宫,而迷宫的四周的值全部为 1,这样做使问题简单了,每个点的试 探方向全部为 4,不用再判断当前点的试探方向有几个。 3 3、 数据结构数据结构设计设计 在上述表示迷宫的情况下,每个点有 4 个方向去试探,如当前点 的坐标(
3、x,y) ,与其相邻的 4 个点的坐标都可根据与该点的相邻方 位而得到。因为出口在(m,n) ,因此试探顺序规定为:从当前位置 向前试探的方向为从正东沿顺时针方向进行。为了简化问题,方便求 出新点的坐标, 将从正东开始沿顺时针进行的 4 个方向的坐标增量放 在一个结构数组 move4中,在 move 数组中,每个元素有两个域组 成,x 为横坐标增量,y 为纵坐标增量。这样对 move 设计会很方便地 求出从某点(x,y)按某一方向 v(0top=-1; return S; int Empty_SeqStack(PSeqStack S) /*判栈空*/ if(S-top=-1) return 1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 报告 迷宫 求解 递归
