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

    迷宫问题——数据结构课程设计迷宫问题

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

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

    迷宫问题——数据结构课程设计迷宫问题

    1、* 实践教学实践教学 * 计算机与通信学院 2012 年春季学期 算法与数据结构算法与数据结构 课程设计课程设计 题 目: 迷宫问题 专业班级:计算机科学与技术一班 姓 名: 学 号: 指导教师: 成 绩: 目目 录录 摘 要 . 3 前 言 . 4 正 文 . 5 一、采用 c+语言定义相关的数据类型 5 二、各模块的伪码算法 . 6 三、函数的调用关系图 . 10 四、调试分析 . 11 五、测试结果 . 12 1、开始界面 . 12 2、自动生成迷宫运行情况 12 3、键盘输入迷宫运行情况 14 总 结 . 16 致 谢 . 17 参考文献 . 18 附 录 . 19 源程序(带注释)

    2、19 摘摘 要要 本程序主要是对任意给定的迷宫,求出一条从入口到出口的通路,或得出没 有通路的结论。使我们基本掌握线性表及栈上基本运算的实现,进一步理解和熟 练掌握课本中所学的各种数据结构,学会如何把学到的知识用于解决实际问题, 培养我们的动手能力。 1、生成迷宫:根据提示输入数据,然后生成一个 8 行 8 列的迷宫。 2、探索迷宫路径:由输入的入口位置开始,对相邻的(上,下,左,右)四 个方向的方块进行探索,若可通则“纳入路径” ,否则顺着“来向”退到“前一通 道块” ,朝着“来向”之外的其它方向继续探索。 3、保存迷宫路径:若探索到出口则把探索到的路径压入另一个栈中,并最后 弹出路径坐标,

    3、输出在屏幕上。 关键字关键字:栈,栈的存储结构,出栈与入栈 前前 言言 求迷宫中从入口到出口的所有路径是一个经典的程序设计问题。由于计算机 解迷宫时,通常用的是“穷举求解”的方法,即从入口出发,顺某一方向向前探 索,若能走通,则继续往前走;否则沿原路退回,换一个方向再继续探索,直至 所有可能的通路都探索到为止。为了保证在任何位置上都能沿原路退回,显然需 要用一个后进先出的结构来保存从入口到当前位置的路径。因此,在求迷宫通路 的算法中应用“栈”也就是自然而然的事。迷宫问题要求,所求路径必须是简单 路径,即在求得路径上不能同时重复出现同一通道。在迷宫中用 1 和 0 分别表示 迷宫中的通路和障碍。

    4、 首先,输入迷宫数据,在计算机的屏幕上显示一个 8 行 8 列的矩阵表示迷宫。 矩阵中的每个数据或为通路(以 0 表示) ,或为墙(以 1 表示) ,所求路径必须是 简单路径,即在求得的路径上不能重复出现同一道块。 其次,假设“当前位置”指的是“在搜索过程中某一时刻所在图中某个方块 位置” ,则求迷宫中一条路径的算法的基本思想是:若当前位置“可通” ,则“纳 入当前路径” ,并继续朝“下一个位置”探索,即切换“下一位置”为“当前位置” , 如此重复直到到达出口;若当前位置“不可通” ,则应顺着“来向”退回到“前一 通道块” ,然后朝着除“来向” ,之外的其它方向继续探索,若该通道块的四周四 个

    5、方块均“不可通” ,则应该从“当前路径”上删除该通道块,所谓“下一个位置” 指的是“当前位置”四周四个方向(上,下,左,右)上相邻的方块。假设以栈 S 记录“当前路径” ,则栈顶中存放的是“当前路径上最后一个通道块” 。由此, “纳 入路径” 的操作为 “当前位置入栈” ; 从当前路径删除前一通道块的操作为 “出栈” 。 最后,若找到出口,则从栈中弹出数据,在屏幕上显示从入口到出口的路径 坐标。最后希望通过对该课题的设计,理解和掌握所学到的各种数据结构,学会 把学到的知识应用于解决实际的问题当中,培养自己的动手能力。 正正 文文 一、采用一、采用 c+c+语言定义相关的数据类型语言定义相关的数

    6、据类型 1、定义坐标(X,Y): #include #include using namespace std; struct Coor int row; int column; int direction; ; 2、定义方向: struct Move int row; int column; ; 3、定义/链表结点: struct LinkNode Coor data; LinkNode *next; ; 4、定义栈: class stack private: LinkNode *top; public: stack(); stack(); void Push(Coor data); Coor Pop(); Coor GetPop();


    注意事项

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




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