11班28号王咪-第二次数据结构实验报告.docVIP

  • 1
  • 0
  • 约2.4千字
  • 约 5页
  • 2016-11-09 发布于贵州
  • 举报

11班28号王咪-第二次数据结构实验报告.doc

11班28号王咪-第二次数据结构实验报告

数据结构实验报告 实验名称: 实验二——题目二(八皇后) 学生姓名: 班 级: 班内序号: 学 号: 日 期: 2012年11月21日 实验要求 实验内容:设计八皇后问题:在8*8的棋盘上放置8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列、同一斜线上。设计一个算法打印所有可能的摆放方法。 程序分析 2.1 存储结构 存储结构:动态数组空间(顺序表) 2.2 关键算法分析 关键算法 通过void FindSolution()的递归,从而找出皇后的位置。有三个判断作用的数组Upward[i],Downward[i],p[i]来记录斜向上的对角线,斜向上的对角线,行是否已经放置了皇后。若无,则记为0,若有则记为1。先通过数组记录的值来判断该位置能否放置皇后,再在新皇后所在的两条对角线和行的位置处修改三个数组的值。此函数每次找的是一行中的每个位置,递归,则进入下一行的位置中判断。若下一行无法放置皇后,再回溯到上一行原先的皇后处,删掉该处的皇后,再在此行的下一个位置寻找。 2.代码详细分析 为了避免参数传输的麻烦,将解八皇后的算法设置成一个类(EightQueen)。这样成员和对象之间的数据传输较为方便。 类中的私有成员的作用叙述如下: int nn; //要放置的皇后的数量(如八皇后,则nn=8) int

文档评论(0)

1亿VIP精品文档

相关文档