欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    课程设计——数据结构课程设计(八皇后问题)

    • 资源ID:1444044       资源大小:140.50KB        全文页数:11页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    课程设计——数据结构课程设计(八皇后问题)

    1、 共 11 页 第 1 页 装 订 线 一一 设计目的设计目的 1了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能 力; 2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方 法和技能; 3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 4.训练用系统的观点和软件开发一般规范进行软件开发, 培养软件工作者所 应具备的科学的工作方法和作风。 二二 设计内容设计内容 求出在一个 nn 的棋盘上, 放置 n 个不能互相捕捉的国际象棋“皇后”的 所有布局。 这是来源于国际象棋的一个问题。皇后可以沿着纵横和两条斜线 8 个方向 相互捕捉。如图所示,一个皇后放在

    2、棋盘的第 4 行第 3 列位置上,则棋盘上凡 打“”的位置上的皇后就能与这个皇后相互捕捉,也就是下一个皇后不能放 的位置。 1 2 3 4 5 6 7 8 Q 图 2-1:摆放示意图 根据这个规则,我们可以利用一个函数来判断某个位置是否安全,安全的 位置说明它所在的同一行、同一列或两条线上都没有放置过皇后,因此不会出 现皇后互相攻击的情况;否则该位置不安全。其具体实现过程是找出所有放置 的皇后,将他们的位置与该位置进行比较判断。又注意到同一行只能放一个皇 后,因此,只需要对前面的各行逐行扫描皇后,就可以找出所有皇后的位置。 共 11 页 第 2 页 装 订 线 下图是其中一种摆放皇后的方法:

    3、Q Q Q Q Q Q Q Q 图 2-2:一种摆放皇后的方法 三三 设计要求设计要求 1.问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题, 明确问题要求做什么?(而不是怎么做?)限制条件是什么? 2.逻辑设计:对问题描述中涉及的操作对象定义相应的数据类型,并按照 以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。逻辑 设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本 操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图。 3.详细设计:定义相应的存储结构并写出各函数的伪码算法。在这个过程 中,要综合考虑系统功能,使得系统结构清晰、合

    4、理、简单和易于调试,抽象 数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。 详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结 构的类型定义,写出函数形式的算法框架。 4.程序编码:把详细设计的结果进一步求精为程序设计语言程序。同时加 入一些注解和断言,使程序中逻辑概念清楚。 5.程序调试:采用自底向上,分模块进行,即先调试低层函数。能够熟练 掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或 绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程 序清单和结果。 6.结果分析:程序运行结果包括正确的输入及其输出结果和含有错

    5、误的输 入及其输出结果。算法的时间、空间复杂性分析。 共 11 页 第 3 页 装 订 线 7.编写课程设计说明书。 四四 设计过程设计过程 1.1.算法思想分析算法思想分析 这道题可以用递归循环的方法来做,分别一一测试每一种摆法,直到得出 正确的答案。主要解决以下几个问题。 (1)冲突(包括行、列、两条对角线) 列:规定每一列放一个皇后,不会造成列上的冲突。 行:当第 i 行被某个皇后占领后,则同一行上的所有空格都不能再放皇 后,要把以 i 为下标的标记置为被占领状态。 对角线:对角线有两个方向。在同一对角线上的所有点(设下标为 (i,j) ) ,要么(i+j)是常数,要么(i-j)是常数。因此,当第 i 个皇后占领 了第 j 列后,要同时把以(i+j) 、 (i


    注意事项

    本文(课程设计——数据结构课程设计(八皇后问题))为本站会员(毕***)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583