数据结构课程设计报告---迷宫求解

数据结构课程设计报告---迷宫求解

ID:9859649

大小:76.00 KB

页数:12页

时间:2018-05-12

数据结构课程设计报告---迷宫求解_第1页
数据结构课程设计报告---迷宫求解_第2页
数据结构课程设计报告---迷宫求解_第3页
数据结构课程设计报告---迷宫求解_第4页
数据结构课程设计报告---迷宫求解_第5页
资源描述:

《数据结构课程设计报告---迷宫求解》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、计算机与信息工程学院课程设计报告课程名称《数据结构》课题名称迷宫求解专业计算机科学与技术班级学号姓名联系方式指导教师2011年12月20日目录1、数据结构课程设计任务书11.1、题目11.2、要求12、总体设计12.1、功能模块设计12.2、所有功能模块的流程图13、详细设计13.1、程序中所采用的数据结构及存储结构的说明13.2、算法的设计思想23.3、稀疏矩阵各种运算的性质变换24、调试与测试:24.1、调试方法与步骤:24.2、测试结果的分析与讨论:34.3、测试过程中遇到的主要问题及采取的解决措

2、施:35、时间复杂度的分析:46、源程序清单和执行结果47、C程序设计总结88、致谢89、参考文献81、数据结构课程设计任务书1.1、题目迷宫求解1.2、要求以一个m×n的长方形表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。首先实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。如:对于下列数据的迷宫,

3、输出的一条通路为:(1,1,1),(1,2,2),(2,2,2),(3,2,3),(3,1,2),…。2、总体设计2.1、功能模块设计主函数(main)释放栈空间出栈函数(Pop)入栈函数(Push)主函数中解迷宫的函数数组初始化函数(InitStack)输出迷宫函数(PrintMaze)2.2、所有功能模块的流程图主函数(main)释放栈空间出栈函数(Pop)入栈函数(Push)主函数中解迷宫的函数数组初始化函数(InitStack)输出迷宫函数(PrintMaze)第10页3、详细设计以一个m×n的

4、长方形表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。首先实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。如:对于下列数据的迷宫,输出的一条通路为:(1,1,1),(1,2,2),(2,2,2),(3,2,3),(3,1,2),…。3.1、程序中所采用的数据结构及存储结构的说明typedefstruc

5、t{unsignedord,x,y;/*通道块在路径上的“序号”,通道快在迷宫中的“坐标位置”*/shortdi;/*从此通道块走向下一通道块的“方向”*/}ElemType;typedefstructNode{/*定义单链表*/ElemTypedata;structNode*next;}Node,*LinkList;typedefstruct{/*定义链栈结构*/LinkListtop;/*栈顶指针*/unsignedlength;/*栈中元素个数*/}LStack;3.2、算法的设计思想设定当前位置

6、为初始位置;do{若当前位置可通,则{将当前位置插入栈顶;若该位置是出口位置,则结束;第10页否则切换当前位置的东邻方块为新的当前位置;}否则,若栈不空且栈顶位置尚有其他方向未经探索,则设定新的当前位置为沿顺时针方向旋转找到的下一位置;若栈不空但栈顶位置的四周皆不可通过,则{删去栈顶位置;若栈不空,则重新测试新的栈顶位置,直至找到一个可通的下一位置为止至栈空;}}while(栈不空);4.2、测试结果的分析与讨论:(测试要写出测试用例及每个用例结果的的截图)4.3、测试过程中遇到的主要问题及采取的解决措

7、施:1.vc6.0中文版平台在编译程序时出现少了mspdb60.dll文件,因此无法运行,在下载了改文件后正常运行。2.在输入程序时有很多关键字输入错误,语句使用不正确,在编译后有系统提示一一改正后,正确运行。5、时间复杂度的分析:函数共探索了39步,(用数组中为1的和为0的相加,即为所有探索过的步数),出栈次数为24次,(用一个监视参数i来监视,Pop一次i+1,最后显示结果为24)。6、源程序清单和执行结果(清单中应有足够的注释)#include#include

8、typedefstruct{第10页unsignedord,x,y;/*通道块在路径上的“序号”,通道快在迷宫中的“坐标位置”*/shortdi;/*从此通道块走向下一通道块的“方向”*/}ElemType;typedefstructNode{/*定义单链表*/ElemTypedata;structNode*next;}Node,*LinkList;typedefstruct{/*定义链栈结构*/LinkListtop;/*栈顶指针*/un

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。