迷宫求解课程设计说明书_第1页
迷宫求解课程设计说明书_第2页
迷宫求解课程设计说明书_第3页
迷宫求解课程设计说明书_第4页
迷宫求解课程设计说明书_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构课程设计设 计 说 明 书迷宫问题求解学 生 姓 名学 号班 级成 绩指 导 教 师计算机科学与技术系2011 年 9 月 9 日数据结构课程设计评阅书题 目 迷宫问题求解学生姓名 学号指导教师评语及成绩成绩: 教师签名: 年 月 日答辩教师评语及成绩成绩: 教师签名: 年 月 日教研室意见总成绩: 室主任签名: 年 月 日注:指导教师成绩 60%,答辩成绩 40%,总成绩合成后按五级制记入。课程设计任务书2011 2012 学年第 一 学期专业: 学号: 姓名: 课程设计名称: 数据结构课程设计 设计题目: 迷宫问题求解 完成期限:自 2011 年 8 月 29 日至 2011 年 9 月 9 日共 2 周设计依据、要求及主要内容(可另加附页):输入一个任意大小的迷宫数据,设置入口、出口及障碍,借助栈结构求解走出迷宫的路径并输出。1.遵循结构化程序设计思想,采用 C/C+实现。 2.界面友好,操作简便,容错性。 基本要求如下: 1)问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么?(而不是怎么做?)限制条件是什么?确定问题的输入数据集合。2)逻辑设计:对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明) ,各个主要模块的算法,并画出模块之间的调用关系图;3)详细设计:定义相应的存储结构。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。详细设计的结果是对数据结构和基本操作做出进一步的求精,写出数据存储结构的类型定义;4)程序编码:把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解和断言,使程序中逻辑概念清楚;5)程序调试与测试:能够熟练掌握调试工具的各种功能,设计测试数据确保程序正确。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;6)结果分析:程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果;7)编写课程设计报告;以上要求中前三个阶段的任务完成后,先将设计说明书的草稿交指导老师面审,审查合格后方可进入后续阶段的工作。设计工作结束后,经指导老师验收合格后将设计说明书打印装订,并进行答辩。指导教师(签字): 教研室主任(签字): 批准日期: 2011 年 8 月 29 日摘 要设计了一个寻找迷宫出口路径的程序,该程序具有设置任意大小的迷宫数据,通过设置的迷宫入口出口及障碍,探索出一条简单路径并输出的功能。该程序采用 VC 作为软件开发环境,借助栈先入后出的特点,先将入口作为检索的起点,顺着某个方向向前探索,若能走通,则继续往前走;否则沿原路返回,换个方向在继续探索,直到所有可能的通路都探索到为止,最后把探索到的路径输出。关键词:迷宫路径;探索;输出目 录1.课题描述 .12.问题分析和任务定义 .23.逻辑设计 .34.详细设计 .44.1 迷宫数据的存储 .44.2 当前位置可通性的判断及探索方向的改变 .54.3 无通路时沿原路返回 .64.4 路径信息入栈和出栈 .74.5 当前探索位置的切换 .84.6 最终探索路径的输出及标记 .94.7 打印迷宫信息 .105.程序代码 .115.1 文件包含和结构体的定义 .115.2 栈的初始化及入栈出栈函数 .115.3 申请迷宫大小及障碍的设置 .125.4 通道可通性测试 .135.5 为走过的通道留下足迹 .135.6 探索位置的切换 .135.7 入口到出口的路径探索 .145.8 打印迷宫信息 .155.9 主函数 .166.程序测试 .18总结 .21参考文献 .22_x0001_1百手起驾 整理为您1.课题描述本次课题是实现迷宫问题的求解,利用 C 语言设计一个能实现输入一个任意大小的迷宫数据,利用二维数组来储存设置的入口、出口及障碍,借助栈先入后出的结构特性保存迷宫探索过程中留下的路径信息,以便在遇到障碍时沿原路返回,在探索结束后输出栈中保存的最终路径。_x0001_2百手起驾 整理为您2.问题分析和任务定义迷宫求解的实现依赖于路径探索的算法,路径探索的算法采用的是“穷举求解”的方法。因此有以下问题:(1)数据存储结构的选择。(2)当前位置的可通性判断及探索方向的改变。(3)道路不通时沿原路返回的算法。(4)路径信息的入栈和出栈。(5)最终路径的输出。_x0001_3百手起驾 整理为您3.逻辑设计程序要实现路径探索及输出即要实现当前位置可通性的判断;路径可通时朝默认方向继续向前探索,路径不可通时沿原路返回改变探索方向,输出最终探索结果。其关系如图 3.1 所示。 开 始当 前 位 置 是否 可 通给 定 当 前 位 置朝 默 认 方 向 继续 向 前 探 索Y后 退 一 步 改 变方 向 继 续 探 索N结 束图 3.1 迷宫路径探索功能结构_x0001_4百手起驾 整理为您4.详细设计4.1 迷宫数据的存储Maze 是指向指针的指针,用行 h 和列 l 来存储迷宫的大小,使用 malloc 申请一个二维数组,根据用户输入的障碍坐标在 maze 数组的相应位置存入 1 作为障碍标记,直到用户输入 0 0 结束障碍的设置。该模块的执行过程如图 4.1 所示。int =0,j;hlnmihmaze=(int*)malocsofhmazei=(nt*)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论