数据结构实验报告——栈(八皇后问题).docVIP

  • 5
  • 0
  • 约小于1千字
  • 约 6页
  • 2023-10-12 发布于湖北
  • 举报

数据结构实验报告——栈(八皇后问题).doc

1.实验要求 【实验目的】 进一步掌握指针、模板类、异常处理的使用 掌握栈的操作的实现方法 掌握队列的操作的实现方法 学习使用栈解决实际问题的能力 学习使用队列解决实际问题的能力 【实验内容】 利用栈结构实现八皇后问题。 八皇后问题19世纪著名的数学家高斯于1850年提出的。他的问题是:在8*8的棋盘上放置8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列、同一斜线上。请设计算法打印所有可能的摆放方法。 提示: 1、可以使用递归或非递归两种方法实现 2、实现一个关键算法:判断任意两个皇后是否在同一行、同一列和同一斜线上 2. 程序分析 2.1 存储结构 存储结构:栈(递归) 2.2 关键算法分析 【设计思想】 由于八皇后问题,可以分解成算法相同的子问题,所以使用递归的方法 【伪代码】 输入皇后个数n k=1 判断k是否大于n 3.1 是:打印一组可能 3.2 否:循环行位置1~n 判断该位置是否符合要求,若符合记录q[k]的坐标y值 k+1 重复3 【关键算法】 1、递归 void Queen::Queens(int k,int n) { int i; if(kn) { Print(n); count(); } else { for(i=1;i=n;i++) if(Isavailab

文档评论(0)

1亿VIP精品文档

相关文档