数据结构 八皇后问题 报告.docVIP

  • 22
  • 0
  • 约2.61千字
  • 约 5页
  • 2016-12-15 发布于江苏
  • 举报
数据结构实验报告 实验名称:实验2 利用栈结构实现八皇后问题 学生姓名: 廖宁 班 级: 2009211114 班内序号: 18 学 号:日 期: 2010年11月18日 实验要求 八皇后问题是19世纪著名的数学家高斯于1850年提出的。他的问题是:在8*8的棋盘上放置8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列、同一斜线上。请设计算法打印所有可能的摆放方法。 提示: 可以使用递归或非递归两种方法实现。 实现一个关键算法,判断任意两个皇后是否在同一行、同一列和同一斜线上。 2. 程序分析 程序工程包含一个模板类函数实现定义的源文件forthelove.cpp和测试源文件sbsuowang.cpp。 2.1 存储结构 存储结构为栈。 2.2 关键算法分析 (1) 判断在第row行第column列摆放皇后是否非法,采取定行不定列的方法,列相等的算法为position[i]=colume,对角线相等有两种情况:一是position在上则row-i=colume-position[i]; 二是position在下,row-i=position[i]-colume.加入能放皇后,列和对角线上值都不能相等。 具体代码如下: int IsIllegal(int row, int colu

文档评论(0)

1亿VIP精品文档

相关文档