没有合适的资源?快使用搜索试试~ 我知道了~
基于c语言的迷宫问题课程设计报告书.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 7 下载量 34 浏览量
2022-07-06
08:40:59
上传
评论 1
收藏 547KB DOCX 举报
温馨提示
试读
23页
基于c语言的迷宫问题课程设计报告书.docx基于c语言的迷宫问题课程设计报告书.docx基于c语言的迷宫问题课程设计报告书.docx基于c语言的迷宫问题课程设计报告书.docx基于c语言的迷宫问题课程设计报告书.docx基于c语言的迷宫问题课程设计报告书.docx基于c语言的迷宫问题课程设计报告书.docx基于c语言的迷宫问题课程设计报告书.docx
资源推荐
资源详情
资源评论
*******************
实践教学
*******************
理工大学
软件学院
2012 年春季学期
算法与数据结构 课程设计
题 目: 迷宫问题
专业班级:
姓 名:
学 号:
指导教师:
成 绩:_______________
页脚
.
摘要
在现实生活中,会遇到很多很多关于迷宫这样很复杂、很难解决的问题的问题。如果人
工去解决这些问题,会很麻烦,花很长的时间,甚至无法解决。假如用计算机去解决,可以
通过手动生成迷宫,也可以通过计算机随机的产生迷宫,最终退出。而且可以很快的求解迷
宫,找到从入口到出口的通路,或者当没有通路时,得出没有通路的结论。找出通路之后,
会显示出通路路经,而且以图示的方式显示出通路,这样会使人一目了然的看清此迷宫的通
路。迷宫是一个矩形区域,可以使用二维数组表示迷宫,这样迷宫的每一个位置都可以用其
行列号来唯一指定,但是二维数组不能动态定义其大小,我们可以考虑先定义一个较大的二
维数组 maze[M+2][N+2],然后用它的前 m 行 n 列来存放元素,即可得到一个 m×n 的二维数组,
这样(0,0)表示迷宫入口位置,(m-1,n-1)表示迷宫出口位置。
关键词: 迷宫;通路;二维数组;路径
页脚
.
序言
随着社会经济的发展,信息化程度的不断深入,传统的人工求解迷宫问题已不能满足生
活的需要。近几年,随着迷宫问题越来越复杂、科技也越来越发达,人们逐渐的开始用计算
机求解迷宫问题。迷宫问题很复杂,但是人们又不得不去研究这个问题,因为人们的生活中
需要它,离不开它。在迷宫路径的搜索过程中,首先从迷宫的入口开始,如果该位置就是迷
宫出口,则已经找到了一条路径,搜索工作结束。否则搜索其上、下、左、右位置是否是障
碍,若不是障碍,就移动到该位置,然后再从该位置开始搜索通往出口的路径;若是障碍就
选择另一个相邻的位置,并从它开始搜索路径。为防止搜索重复出现,则将已搜索过的位置
标记为 2,同时保留搜索痕迹,在考虑进入下一个位置搜索之前,将当前位置保存在一个队
列中,如果所有相邻的非障碍位置均被搜索过,且未找到通往出口的路径,则表明不存在从
入口到出口的路径。这实现的是广度优先遍历的算法,如果找到路径,则为最短路径。
页脚
.
目录
一、需求分
析............................................................................................................................................................5
1.1 功能与数据需
求........................................................................................................................................5
1.1.1 题目要求的功
能....................................................................................................................................5
1.1.2 扩展功
能................................................................................................................................................5
1.2 界面需
求....................................................................................................................................................6
1.3 开发环境与运行需
求................................................................................................................................6
二、概要设
计............................................................................................................................................................7
2.1 主要数据结
构.............................................................................................................................................7
2.2 各模块函数说
明.........................................................................................................................................8
三、详细设
计............................................................................................................................................................9
四、测
试.................................................................................................................................................................
.10
五、使用说
明..........................................................................................................................................................13
5.1 应用程序功能的详细说
明.......................................................................................................................13
5.2 应用程序运行环境要
求...........................................................................................................................13
5.3 输入数据类型、格式和容限
制...............................................................................................................13
六、总结提
高..........................................................................................................................................................14
6.1 课程设计总
结...........................................................................................................................................14
6.2 开发中遇到的问题和解决方
法...............................................................................................................14
6.3 对自己完成课设完成情况的评
价..........................................................................................................14
参考文
献.................................................................................................................................................................
.15
致 ..............................................................................................................................................................
............16
页脚
.
一、需求分析
1.1 功能与数据需求
问题描述:以一个 m×n 的长方形表示迷宫,0 和 1 分别表示迷宫中的通路和
障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得
出没有通路的结论。
1.1.1 题目要求的功能
基本要求:首先实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的
非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的
一个坐标,d 表示走到下一坐标的方向。如:对于下列数据的迷宫,输出的一条通
路为:(1,1,1), (1,2,2), (2,2,2)
(3,2,3), (3,1,2),…。
测试数据:迷宫的测试数据如下:左上角(1,1)为入口,右下角(9,8)为出口。
1 2 3 4 5 6 7 8
0 0 1 0 0 0 1 0
0 0 1 0 0 0 1 0
0 0 0 0 1 1 0 1
0 1 1 1 0 0 1 0
0 0 0 1 0 0 0 0
0 1 0 0 0 1 0 1
0 1 1 1 1 0 0 1
1 1 0 0 0 1 0 1
1 1 0 0 0 0 0 0
1.1.2 扩展功能
(1)编写递归形式的算法,求得迷宫中所有可能的通路;
(2)以方阵形式输出迷宫及其通路
页脚
.
剩余22页未读,继续阅读
若♡
- 粉丝: 6105
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页