- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计报告
计算机与信息学院课题名称: 迷宫问题的求解及演示姓 名:
计算机与信息学院
学 号:
专 业:
班 级: 指导教师:
第 1 页 共 17 页
数据结构课程设计任务书
针对本课程设计,完成以下课程设计任务书:
熟悉系统实现工具和上机环境。
根据课程设计任务,查阅相关资料。
针对所选课题完成以下工作:
)需求分析
)概要设计
)详细设计
)编写源程序
)静态走查程序和上机调试程序
书写上述文档和撰写课程设计报告
第 2 页 共 17 页
目 录
第一部分 课程设计任务书 1
第二部分 课程设计报告 2
第一章 课程设计内容和要求 4
2.1
问题描述
4
2.2
需求分析
4
第二章 课程设计总体方案及分析 4
3.1
概要设计
7
3.2
详细设计
7
3.3
调试分析
10
3.4
测试结果
10
第三章 设计总结 13
课程设计总结 13
参考文献
附录( 源代码) 14
第 3 页 共 17 页
第二部分 课程设计报告
第一章 课程设计内容和要求
问题描述 :
迷宫以 16*16 的矩阵存储在数据文件中(迷宫中的障碍物要占到一定比例) ,编写非递归的程序,求出一条从入口到出口的路径并显示之(结果若能用 C的绘图函数显示更好)
需求分析 :
要求设计程序输出如下:
建立一个大小为 m×n的任意迷宫 (迷宫数据可由用户输入或由程序自动生成) ,并在屏幕上显示出来;
找出一条通路的二元组( i,j )数据序列,( i,j )表示通路上某一点的坐标。
用一种标志(如数字 8)在迷宫中标出该条通路;
在屏幕上输出迷宫和通路;
上述功能可用菜单选择。
迷宫的建立:
迷宫中存在通路和障碍,为了方便迷宫的创建,可用 0 表示通路,用 1 表示障碍, 这样迷宫就可以用 0、1 矩阵来描述,
迷宫的存储:
迷宫是一个矩形区域, 可以使用二维数组表示迷宫, 这样迷宫的每一个位置都可以用其行列号来唯一指定, 但是二维数组不能动态定义其大小, 我们可以考虑先定义一个较大的二维数组 maze[M+2][N+2], 然后用它的前 m行 n 列来存放元素,即可得到一个 m× n 的二维数组,这样 (0,0) 表示迷宫入口位置, (m-1,n-1) 表示迷宫出口位置。
第 4 页 共 17 页
注:其中 M,N 分别表示迷宫最大行、列数,本程序 M、N 的缺省值为 39、39,当然, 用户也可根据需要,调整其大小。
迷宫路径的搜索:
首先从迷宫的入口开始,如果该位置就是迷宫出口,则已经找到了一条路径,搜索工作结束。否则搜索其上、下、左、右位置是否是障碍,若不是障碍,就移动到该位置,然后再从该位置开始搜索通往出口的路径;若是障碍就选择另一个相邻的位置,并从它开始
搜索路径。为防止搜索重复出现,则将已搜索过的位置标记为 2,同时保留搜索痕迹,在考虑进入下一个位置搜索之前,将当前位置保存在一个队列中,如果所有相邻的非障碍位
置均被搜索过,且未找到通往出口的路径,则表明不存在从入口到出口的路径。这实现的是广度优先遍历的算法,如果找到路径,则为最短路径。
以矩阵 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,标记变为 2,然后从(0,1) 移动到 (1,1)( 序号 2) ,放入队列中, 其前节点序号为 1,(1,1) 存在(1 ,2)( 序号 3) 、(2 ,1)( 序号 4) 两个可移动位置,其前节点序号均为 2. 对于每一个非障碍位置,它的相邻非障碍节点均入队列,且它们的前节点序号均为该位置的序号,所
以如果存在路径,则从出口处节点的位置,逆序就可以找到其从出口到入口的通路。如下表所示:
0 1 2 3 4 5 6 7 8 9 10
(0,0)
(0,0)
(0,1)
(1,1)
(1,2)
(2,1)
(2,2)
(1,3)
(2,3)
(0,3)
(3,3)
(3,4)
-1
0
1
2
2
3
4
5
6
7
9
由此可以看出,得到最短路径: (3,4)(3,3)(2,3)(2,2)(1,2)(1,1)(0,1)(0,0)
搜索算法流程图如下所示:
第 5 页 共 17 页
第二章 课程设计总体方案及分析
概要设计
第 6 页 共 17 页
①构建一个二维数组 maze[M+2][N+2] 用于存储迷宫矩阵
②自动或手动生成迷宫,即为二维数组 maze[M+2][N+2] 赋值
③构建一个队列用于存储迷宫路径
④建立迷宫节点 struct point
您可能关注的文档
- 碳酸钙下注式粉体储料仓设计(1)讲解.docx
- 施组(大荔三河).docx
- 驾校考试秘笈超全.docx
- 洁净施工工艺技术方案.docx
- DN1600丙烯精馏筛板塔结构与强度设计.docx
- 有机紫薯种植及深加工项目可行性研究报告.docx
- 八年级地理下学期期中测试试题无答案新人教版.docx
- JDC系列多管冲击式除尘器.docx
- 基于单片机的报警器设计讲解(1).docx
- 基于单片机的报警器设计讲解.docx
- 广东省东莞市2024-2025学年八年级上学期生物期中试题(解析版).pdf
- 非遗剪纸文创产品开发经理岗位招聘考试试卷及答案.doc
- 广东省东莞市2024-2025学年高二上学期期末教学质量检查数学试题.pdf
- 体育安全理论课件图片素材.ppt
- 3.1 公民基本权利 课件-2025-2026学年道德与法治八年级下册 统编版 .pptx
- 广东省潮州市湘桥区城南实验中学等校2024-2025学年八年级上学期期中地理试题(解析版).pdf
- 大数据运维工程师岗位招聘考试试卷及答案.doc
- 广东省深圳市福田区八校2026届数学八年级第一学期期末教学质量检测模拟试题含解析.doc
- 广东省潮州市湘桥区城基初级中学2024-2025学年八年级上学期11月期中考试数学试题(解析版).pdf
- 广东省潮州市湘桥区城西中学2024-2025学年八年级上学期期中地理试题(解析版).pdf
最近下载
- 特种设备项目可行性研究报告.docx
- 货车日常维修与保养PPT学习教案.pptx VIP
- 标准图集-07K120-风阀选用与安装.pdf VIP
- 初二数学八上全等三角形点总结复习和常考题型练习三.docx VIP
- ZOOM声乐乐器F6 使用说明书 (Chinese)用户手册.pdf
- 和利时通用通信软件HOLLiAS iComm使用手册.pdf VIP
- 电机检查接线调试报告模板.docx VIP
- 贵州省贵阳市普通中学2024-2025学年高二上学期期末监测数学试题(含答案解析).docx
- 《汽车用仿麂皮复合面料 第2部分:织物仿麂皮》.pdf VIP
- 2014款15广汽本田缤智_汽车使用手册用户操作图解驾驶指南车主车辆说明书电子版.pdf
原创力文档


文档评论(0)