- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
存档资料 成绩:
华东交通大学理工学院
课 程 设 计 报 告 书
所属课程名称 数据结构课程设计
题 目 深度与广度搜索:迷宫问题
分 院
专业班级 计算机科学与技术2班
学 号
学生姓名
指导教师
2014 年 6 月 17 日
序号 项 目 等 级 优秀 良好 中等 及格 不及格 1 课程设计态度评价 2 出勤情况评价 3 任务难度评价 4 工作量饱满评价 5 任务难度评价 6 设计中创新性评价 7 论文书写规范化评价 8 综合应用能力评价 综合评定等级 课程设计(论文)评阅意见
评阅人 职称
20 年月日
4
1.1 设计内容 4
1.2 设计要求 4
第二章 总体设计 5
2.1.环境设置 5
2.2.图形界面设计 5
2.3.设计思路 6
第三章 功能实现 7
3.1.主窗口及消息窗口的实现 7
3.2.文件流的实现 8
3.3.构造迷宫 8
3.4.深度及广度搜索寻径 9
第四章 测试 10
4.1 将A*B的矩阵墙拆成迷宫 10
4.2 进行深度优先搜索 10
4.3 进行广度优先搜索 11
4.4 漏洞分析 12
第五章 算法分析 13
5.1 时间复杂度分析 13
5.2 空间复杂度分析 13
第六章 课程设计心得 15
参考文献 16
附录(源程序) 17
致谢 34
课程设计内容及要求
1.1 设计内容
课程设计将要设计并实现一个基于深度优先遍历和广度优先遍历的迷宫程序,程序均由c/c++代码实现,能够自动寻迷宫的终点,并由图形界面演示,图形界面的制作基于win32编程实现。
1.2 设计要求
1.本设计程序需要拥有图形界面
2.分别以深度优先遍历及广度优先遍历方法进行寻找迷宫终点的演示
3.建立每个单元格四面墙的X*Y位迷宫程序
4.通过随机种子随机拆墙,因此进行两种遍历所发生的路径也是不一样的
5.拥有动态的演示效果,可以观测到深度和广度优先遍历的不同寻径方向和不同的寻径方法
第二章 总体设计
2.1.环境设置
操作系统:windows7 sp1专业版,windows8 专业版,windows xp sp3
程序设计语言:c/c++
开发工具:
编译:visual c++ 6.0
编码:notepad++6.6.1
4:外部接口:win32 API,因此需要借助Microsoft visual c++的环境进行编译实现
2.2.图形界面设计
1:本程序设计采用的是基于windows32 API的图形化接口建立的两种类型的图形界面。包括winMain函数的主窗口界面以及MessageBox消息界面。所有程序均基于c++语言。
2:图形界面演示。
消息窗口
(2)主窗口
2.3.设计思路
程序设计框图如下:
(注:Messagebox是消息框,分别表示标题栏和开始拆墙和开始深度优先搜索和广度优先搜索。WinMain为主窗口,承载拆墙及各种遍历的实现。New WinMain为拆墙后的主窗口。)
第三章 功能实现
3.1.主窗口及消息窗口的实现
(1)窗口函数
LRESULT CALLBACK WndProc ( HWND, UINT, WPARAM, LPARAM);
(2)WinMain函数
int WINAPI WinMain ( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
PSTR szCmdLine,
int iCmdShow){};
(3)注册窗口
iScreenWide=GetSystemMetrics (SM_CXFULLSCREEN);//获取分辨率及置于中间
hwnd =CreateWindow (
AppName, //窗口类名
深度、广度优先搜索迷宫,//窗口实例的标题名
文档评论(0)