欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    迷宫求解数据结构课程设计报告

    • 资源ID:1443896       资源大小:220.50KB        全文页数:20页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    迷宫求解数据结构课程设计报告

    1、 数据结构课程设计报告书 设计题目: 迷宫求解 专业: 班级: 学生姓名: 学号: 指导教师: 2012 年 12 月 I 目录目录 摘要摘要 IIII 第一章第一章 问题描问题描述述 1 1 第二章第二章 设计思路设计思路 2 2 第三章第三章 课程设计总体方案及分析课程设计总体方案及分析 3 3 第四章第四章 调试分析调试分析 1010 总结总结 1212 附录附录: IIIIII 1.1.程序清单程序清单 III 2.2.文献文献. VII II 摘要摘要 设计一个简单程序,来实现迷宫的求解,首先在设计的时候 就想了一下,应该运用到那些知识,不管是 C 语言还是数据结构 的首先我们想到是

    2、运用到什么相关知识, 设计一个计算机程序对 任意设定的矩形迷宫,求出一条从入口到出口的通路,或得出没 有通路的结论。 首先从迷宫的入口开始,如果该位置就是迷宫出口,则已经 找到了一条路径,搜索工作结束。否则搜索其上、下、左、右位 置是否是障碍,若不是障碍,就移动到该位置,然后再从该位置 开始搜索通往出口的路径;若是障碍就选择另一个相邻的位置, 并从它开始搜索路径。为防止搜索重复出现,则将已搜索过的位 置标记为 2,同时保留搜索痕迹,在考虑进入下一个位置搜索之 前,将当前位置保存在一个队列中,如果所有相邻的非障碍位置 均被搜索过,且未找到通往出口的路径,则表明不存在从入口到 出口的路径。这实现的

    3、是广度优先遍历的算法,如果找到路径, 则为最短路径。 本课程我将用源代码和流程图来说明和设计我的论文。 关键字:关键字: 迷宫求解迷宫求解 、 数据结构数据结构 、 C C 语言语言 1 第一章第一章 问题描述问题描述 迷宫问题是取自心理学的一个古典实验。在该实验中,把一只老鼠从一个无 顶大盒子的门放入,在盒子中设置了许多墙,对行进方向形成了多处阻挡。盒子仅 有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。对 同一只老鼠重复进行上述实验,一直到老鼠从入口走到出口,而不走错一步。老鼠 经过多次试验最终学会走通迷宫的路线。设计一个计算机程序对任意设定的矩形迷 宫如下图 A 所

    4、示,求出一条从入口到出口的通路,或得出没有通路的结 论 。 图 A 2 第二章第二章 设计思路设计思路 2.1 设计要求 要求设计程序输出如下: (1) 建立一个大小为 mn 的任意迷宫(迷宫数据可由用户输入或由程序自动 生成),并在屏幕上显示出来; (2)找出一条通路的二元组(i,j)数据序列,(i,j)表示通路上某一点的 坐标。 (3)用一种标志(如数字 8)在迷宫中标出该条通路; (4)在屏幕上输出迷宫和通路; (5)上述功能可用菜单选择。 3 第三章第三章 课程设计总体方案及分析课程设计总体方案及分析 3.1 3.1 问题分析:问题分析: 1.迷宫的建立: 迷宫中存在通路和障碍,为了方

    5、便迷宫的创建,可用 0 表示通路,用 1 表示障碍,这样迷宫就可以用 0、1 矩阵来描述, 2.迷宫的存储: 迷宫是一个矩形区域,可以使用二维数组表示迷宫,这样迷宫的每一个 位置都可以用其行列号来唯一指定,但是二维数组不能动态定义其大小,我 们可以考虑先定义一个较大的二维数组 mazeM+2N+2,然后用它的前 m 行 n 列来存放元素,即可得到一个 mn 的二维数组,这样(0,0)表示迷宫入口 位置,(m-1,n-1)表示迷宫出口位置。 注:其中 M,N 分别表示迷宫最大行、列数,本程序 M、N 的缺省值为 39、 39,当然,用户也可根据需要,调整其大小。 3.迷宫路径的搜索: 首先从迷宫

    6、的入口开始,如果该位置就是迷宫出口,则已经找到了一 条路径,搜索工作结束。否则搜索其上、下、左、右位置是否是障碍,若 不是障碍,就移动到该位置,然后再从该位置开始搜索通往出口的路径; 若是障碍就选择另一个相邻的位置,并从它开始搜索路径。为防止搜索重 复出现,则将已搜索过的位置标记为 2,同时保留搜索痕迹,在考虑进入下 一个位置搜索之前,将当前位置保存在一个队列中,如果所有相邻的非障 4 碍位置均被搜索过,且未找到通往出口的路径,则表明不存在从入口到出 口的路径。这实现的是广度优先遍历的算法,如果找到路径,则为最短路 径。 以矩阵 0 0 1 0 1 为例,来示范一下 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 首先,将位置(0,0)(序号 0)放入队列中,其前节点为空,从它开 始搜索,其标记变为 2,由于其只有一个非障碍位置,所以接下来移动到 (0,1)(序号1), 其前节点序号为0, 标记变


    注意事项

    本文(迷宫求解数据结构课程设计报告)为本站会员(毕***)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583