- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计(皇后问题)
课 程 设 计 报 告
课程名称 数据结构课程设计
课题名称 皇后问题
专 业 信息与计算科学
班 级 信息科学1201
学 号 201210010115
姓 名 宋康
指导教师 刘长松 陈华光 陈多2014年 月日
课程设计任务书
课程名称 数据结构课程设计
课 题 皇后问题
专业班级 信息科学1201
学生姓名 宋康
学 号 201210010115
指导老师 刘长松 陈华光 陈多
审 批
任务书下达日期: 2014年 月 日2014年 月 日一、设计内容与设计要求
1.设计内容:
1)问题描述
?
2)实现提示
????从第1行起逐行放置皇后,每放置一个皇后均需要依次对第1.2,…
由于回溯求解的规则是“后进先出”,因此要用到栈。
?
2.设计要求:
课程设计报告规范
1)需求分析
a.程序的功能。
b.输入输出的要求。
2)概要设计
程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能。
课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。
3)详细设计
a.采用C语言定义相关的数据类型。
b.写出各模块的类C码算法。
c.画出各函数的调用关系图、主要函数的流程图。
4)调试分析以及设计体会
a.测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果。
b.程序调试中遇到的问题以及解决问题的方法。
c.课程设计过程经验教训、心得体会。
5)使用说明
用户使用手册:说明如何使用你编写的程序,详细列出每一步的操作步骤。
6)书写格式
见附带说明。
7)附录
a.参考书目
b.源程序清单(带注释)
考核方式
指导老师负责验收程序的运行结果,并结合学生的动手能力创新精神报告综合考评优、良、中、及格和不及格程序结构合理与否(程序(0%)(0%)独立完成情况(0%)
① 运行所设计的系统。
② 回答有关问题。
③ 提交课程设计报告纸质稿。
④ 提交源程序、设计报告文档电子稿。
⑤ 依内容的创新程度,完善程序情况及对程序讲解情况打分。
二、进度安排
17周周一下午14:30-18:30 信科1101.1102 E513 17周周三上午8:00-11:30 信科1101.1102 E513 17周周五上午8:00-11:30 信科1101.1102 E513
目录
一、 课题叙述 6
1.1 课题的来源 6
1.2面对的问题 6
二、 6
2.1功能需求 6
三、 设计
四、 7
4.1算法描述及详细流程图 7
4.2算法流程图 8
五、 运行结果 8
六、 结果分析 9
9八、 附录(源程序) 10
一、课题综述
1. 1 课题的来源
?八皇后问题是一个古老而著名的问题,该问题是十九世纪著名的数学家高斯1850年提出的。
在国际象棋中,皇后是最有权利的一个棋子;只要别的棋子在它的同一行或同一列或同一斜线(正斜线或反斜线)上时,它就能把对方棋子吃掉。所以高斯提出了一个问题:在8*8的格的国际象棋上摆放八个皇后,使其不能相互攻击,即任意两个皇后都不能处于同一列、同一行、或同一条斜线上面,问共有多少种解法。计算机发明后,将8后演变成n后,可以想到n的最小值应为4。
?
1. 2? 面对的问题
1)???解决冲突问题:
这个问题包括了行,列,两条对角线;
列:规定每一列放一个皇后,不会造成列上的冲突;
行:当第I行被某个皇后占领后,则同一行上的所有空格都不能再放皇后,要把以I为下标的标记置为被占领状态;
2)?使用数据结构的知识,用法解决问题。
?
2.1功能需求
????当运行程序时,在屏幕上显示每一种方法n个皇后的相对位置,要用比较直观?的界面显示
三、概要设计
?
?????最容易想到的方法就是有序地从第 1 列的第 1 行开始,尝试放上一个皇后,然后再尝试第 2 列的第几行能够放上一个皇后,如果第 2 列也放置成功,那么就继续放置第 3 列,如果此时第3列没有一行可以放置一个皇后,说明目前为止的尝试是无效的(即不可能得到最终解),那
原创力文档


文档评论(0)