- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
八皇后问题数据结构课程设计报告38
数据结构课程设计报告
八皇后问题
设计任务书
课题
名称 八皇后 设计
目的 调研并熟悉八皇后的基本功能、数据流程与工作规程;
学习八皇后相关的算法和基于VC++集成环境的编程技术;
通过实际编程加深对基础知识的理解,提高实践能力;
学习开发资料的收集与整理,学会撰写课程设计报告。 实验
环境 微型电子计算机(PC);
安装Windows 2000以上操作系统,Visual C++6.0开发工具。 任务
要求 利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集与整理;
在第16周末之前完成预设计,并请指导教师审查,通过后方可进行下一步工作;
本课题要求至少用三种方法解决八皇后问题,输入棋盘的阶层,然后显示共有多少种布局方案,并显示每一种方案的具体情况。
结束后,及时提交设计报告(含纸质稿、电子稿),要求格式规范、内容完整、结论正确,正文字数不少于3000字(不含代码)。 工作进度计划 序号 起止日期 工 作 内 容 1 2009.06.7~2009.06.7 在预设计的基础上,进一步查阅资料,完善设计方案,形成书面材料。 2 2009.06. 7~2009.06.10 设计总体方案,构建、绘制流程框图,编写代码,上机调试。 3 2009.06.11~2009.06.12 测试程序,优化代码,增强功能,撰写设计报告。 4 2009.06.12~2009.06.13 提交软件代码、设计报告,参加答辩,根据教师反馈意见,修改、完善设计报告。 指导教师(签章):
2013 年 5 月 15 日
摘要:
众所周知的八皇后问题是一个非常古老的问题,具体如下:在8*8的国际象棋棋盘上放置了八个皇后,要求没有一个皇后能吃掉另一个皇后,即任意两个皇后都不处于棋盘的同一行、同一列或同一对角线上,这是做出这个课题的基础。要求编写实现八皇后问题的递归解法或非递归解法,对于任意给定的一个初始位置,输出八皇后问题的一个布局。本次设计旨在学习各种算法,训练对基础知识和基本方法的综合运用及变通能力,增强对算法的理解能力,提高软件设计能力。在实践中培养独立分析问题和解决问题的作风和能力。
要求熟练运用C++语言、基本算法的基础知识,独立编制一个具有中等难度的、解决实际应用问题的应用程序。通过对题意的分析与计算,用递归法回溯法及枚举法解决八皇后是比较适合的。递归是一种比较简单的且比较古老的算法。回溯法是递归法的升华,在用来求问题的所有解时,要回溯到根,且根结点的所有子树都已被搜索遍才结束。而枚举法,更是一种基础易懂简洁的方法。把它们综合起来,就构成了今天的算法。不论用什么法做这个课题,重要的就是先搞清楚哪个位置是合法的放皇后的位置,哪个不能,要先判断,后放置。
关键词:八皇后;递归法;回溯法;数组…….
1 课题综述
1.1 八皇后问题概述
八皇后问题是一个古老而著名的问题。该问题是十九世纪著名的数学家高斯1850提出;在8×8格的国际象棋上摆放八皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后人有人用图论的方法解出92宗结果。虽然问题的关键在于如何判定某个皇后所在的行、列、斜线是否有别的皇后;可以从矩阵的特点上找到规律,如果在同一行,则行号相同;如果在同一列上,则列号相同;如果同在“/”斜线上的行列值之和相同;如果在对角线上,则行列号之和或之差相等,逐个纪录符合题意的情况,最终得出解。(如图1-1,是八皇后问题的一个实例图)
图1-1八皇后棋盘实例
1.2 预期目标
运用C++程序设计的编程思想编写代码,实现八皇后问题的所有(92种)摆放情况。要求在DOS界面上显示出每一种方式。
1
1.3 面对的问题
需要用三种方法解决八皇后问题,在这里需要查阅大量资料并多加练习,才能成功编写程序。主要要解决下面的问题:
冲突:包括列、行、两条对角线;
列:规定每一列放一个皇后,就不会造成列上的冲突;
行:当第i行被某个皇后占据时,该行所有空格就都不能放置其他皇后;
对角线:对角线有两个方向,在同一对角线上的所有点都不能有冲突。
2 需求分析
2.1 涉及到的知识基础
2.1.1 类
2.1.1.1 类定义
2.1.1.2 类函数定义
2.1.2 函数
2.1.2.1 函数的定义
2.1.2.2函数调用
2.1.3 选择结构
2.1.3.1 用if语句实现选择结构设计
2.1.3.2 if语句嵌套
2.1.3.3 while和do-while语句
2.1.4 循环结构
2.1.4.1 for语句
2.1.4.2 Break语
您可能关注的文档
- 八年级物理串并联电路的计算45.ppt
- 八年级物理乐音与噪声143.ppt
- 八年级物理光的传播136.ppt
- 八年级物理从地球变暖谈起239.ppt
- 八年级物理人眼看不见的光21.ppt
- 八年级物理什么是声音20.ppt
- 八年级物理光的反射331.ppt
- 八年级物理光的反射35.ppt
- 八年级物理光的反射1048.ppt
- 八年级物理光的折射723.ppt
- 2025年云南玉溪新平县总医院第三批编外人员招聘笔试备考题库附答案详解.docx
- 医疗大数据隐私保护与信息安全管理.docx
- 乡村教育数字化转型对教育公平的影响.docx
- 第六章意识状态和注意.ppt
- 2025年云南玉溪新平县总医院第三批编外人员招聘笔试备考题库含答案详解.docx
- 2025至2030国内降解塑料袋行业市场发展分析及竞争格局与发展策略报告.docx
- 2025年云南玉溪新平县总医院第三批编外人员招聘笔试备考题库及答案详解一套.docx
- 2025年云南玉溪新平县总医院第三批编外人员招聘笔试备考题库及完整答案详解1套.docx
- 2025年云南玉溪澄江市教育体育系统市外选调教师5人笔试备考题库及完整答案详解1套.docx
- 2025年云南玉溪澄江市教育体育系统市外选调教师5人笔试备考题库及答案详解1套.docx
最近下载
- 项目一集控运行职业岗位认知课件.pptx VIP
- Nordic 系列:nRF52840 (基于 Cortex-M4)_(25).nRF52840的硬件测试.docx VIP
- Nordic 系列:nRF52840 (基于 Cortex-M4)_(16).nRF52840的硬件设计指南.docx VIP
- 医疗器械说明书:迈瑞麻醉机WATO+EX-55,65_使用说明书V_1.1中文.pdf
- GMC96B钢轨打磨列车手册.pdf VIP
- 南京三合宅课件.ppt VIP
- 猩红热护理查房.pptx VIP
- 中国肺血栓栓塞症诊治、预防和管理指南(2025版).pptx
- 2025年高考数学全国新课标Ⅰ卷试卷评析及备考策略(课件).pptx VIP
- 医疗器械 质量手册 ISO 13485 QRS 820 (通过FDA、NMPA、CE的审批 版.pdf VIP
文档评论(0)