ImageVerifierCode 换一换
格式:DOCX , 页数:73 ,大小:949.47KB ,
资源ID:2284918      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2284918.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(迷宫问题课程设计报告.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

迷宫问题课程设计报告.docx

1、迷宫问题课程设计报告第一章:设计问题描述与分析. 11.1.课程设计内容. 11.2.问题分析. 11.3功能实现. 21.4运行环境. 3第二章:算法设计与流程图. 42.1.主函数的流程图. 42.2.概要设计. 52.4详细设计. 62.4.1.节点类型和指针类型. 62.4.2.迷宫的操作. 6(1)生成迷宫. 6(2)打印迷宫矩阵与字符图形. 7(3)迷宫求解路由求解操作. 7(4)打印迷宫通路坐标. 8(5)输出迷宫通路的字符图形. 82.4.3.主函数. 9第三章:调试分析. 10程序设计综合课程设计第四章:使用说明. 11第五章:测试结果. 12附录1. 19附录2. 19程序

2、设计综合课程设计第一章:设计问题描述与分析1.1.课程设计内容:该系统是由C语言编写的生成一个NM(N行M列)的迷宫,完成迷宫的组织和存储,并实现迷宫路由算法。基本要求1、N和M是用户可配置的,缺省值为50和50。2、迷宫的入口和出口分别在左上角和右下角。提示:(1)可以使用二维数组mazeM+2N+2表示迷宫,其中M,N为迷宫的行、列数,当元素值为0时表示该点是通路,当元素值为1时表示该点是墙。老鼠在每一点都有4种方向可以走,可以用数组move4来表示每一个方向上的横纵坐标的偏移量,可用另一个二维数组markM+2N+2记录节点的访问情况。(2)可以选用深度优先算法或广度优先算法实行,迷宫可

3、由自动或手动生成。测试用例应该包含有解迷宫和无解迷宫。1.2.问题分析本程序要求实现迷宫问题的相关操作,包括迷宫的组织和存储,并实现迷宫路由算法(即查找迷宫路径)。程序所能达到的:具体包括迷宫的建立,迷宫的存储(迷宫由自动生成或手动生成),迷宫中路径的查找迷宫是一个矩形区域,迷宫存在一个入口和一个出口,其内部包含了不能穿越的墙或者障碍。迷宫的建立即是建立这样一个迷宫矩阵,用于存储迷宫信息,包括可穿越的路和不可穿越的墙或者障碍,分别用0表示通路,1表示障碍。对于迷宫矩阵,用mn的矩阵来描述,m和n分别代表迷宫的行数和列数。这样,则迷宫中的每个位置都可以用其行号和列号来指定。从入口到出口的路径是由

4、一组位置构成的。每个位置上都没有障碍,且每个位置(第一个除外)都是前一个位置的上、下、左、右的邻居。为了描述迷宫中位置(i,j)处有无障碍,规定,当位置(i,j)处有一个障1程序设计综合课程设计碍时,其值为1,否则为0.这样迷宫就可以用0、1矩阵来描述,在构造矩阵时,为了操作方便会将矩阵四周置为1(不通)。对于查找迷宫路由问题首先,考察,迷宫的入口位置,如果该位置就是迷宫出口,则已经找到了一条路径,搜索工作结束。否则,考察其上、下、左、右位置上的邻居是否是障碍,若不是就移动到这个相邻位置上,然后对于这个位置开始搜索通往出口的路径。如果不成功,就选择另一个相邻的位置,并从它开始搜索路径。为防止搜

5、索出现重复,则将已搜索过的位置标记为1。同时为保留过搜索的痕迹,在考察相邻位置之前,将当前位置保存在一个堆栈中,如果所有相邻的非障碍位置均被搜索过,且未能找到通往出口的路径,则表明不存在从入口到出口的路径。且对于此,实现的是深度优先遍历算法,如果查找到路径,则为从入口到出口的路径。下面实现如何利用堆栈实行深度优先遍历算法进行迷宫最短路径的查找。以矩阵111111110010111100101110001110010011111111首先,将位置(1,1)放入堆栈中,从它开始搜索,标记。由于其只有一个非障碍位置,所以接下来移动到(1,2),防止稍后的搜索再经过这个位置。从(1,2)移动到(2,2

6、),放入堆栈中,(2,2)存在(2,3)、(3,2)两个可移动位置。标记已被搜索过,对于每一个非障碍位置,它的相邻非障碍节点均入队列,实现了深度优先遍历算法。所以如果存在路径,则从出口处节点的位置,逆序则可2程序设计综合课程设计以找到其从出口到入口的通路。实现了查找路径。1.3功能实现:1、数据输入形式和输入值的范围:生成迷宫时可选择手动或者自动生成;手动输入迷宫矩阵时以0表示无障碍为通路,1表示该点有障碍为墙。所有输入中,元素的值均为整数。2、结果的输出形式:当完成迷宫生成后,会提示输入入口与出口,进入迷宫路由查找算法,如找到出口,则打印出路径矩阵坐标,并显示显示迷宫生成图形3、测试数据:a、进入界面,选择2,自动生成b、输入入口与出口c、查看结果1.4运行环境:运行环境为DOS3程序设计综合课程设计第二章:算法设计与流程图2.1.主函数的流程图:N判断入口是否为通路 循环结束,无通路4程序设计综合课程设计Y将该位置入栈,并标记为1N栈不为空且栈顶非出口栈顶为出口?NYY YY栈顶位置下面可通?找出通路,链栈内即为通路N栈顶位置上面可通?Y循环结束YN栈顶位置右面可通?5程序设计综合课程设计N栈顶位置左面可通?N栈顶出栈图1迷宫算法流程图2.2概要设计1、为了实现上述功能,需

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1