算法分析与设计大作业
更新时间:2023-11-27 02:00:01 阅读量: 教育文库 文档下载
算法分析与设计大作业
《回溯法计算皇后跳棋》
班级: 学号:
姓名:
指导老师:
得分:
一、 问题陈述:
在n×n格的棋盘上放置彼此不受攻击的n个皇后,按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。要求在n×n格的棋盘上放置n个皇后,任何两个皇后不放在同一行或同一列或同一斜线上。
二、 回溯法基本思想:
回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。用回溯算法解决问题的一般步骤为:
1、定义一个解空间,它包含问题的解。 2、利用适于搜索的方法组织解空间。 3、利用深度优先法搜索解空间。
4、利用限界函数避免移动到不可能产生解的子空间。 问题的解空间通常是在搜索问题的解的过程中动态产生的,这是回溯算法的一个重要特性
回溯法的优点在于其程序结构明确,可读性强,易于理解,而且通过对问题的分析可以大大提高运行效率。但是,对于可以得出明确的递推公式迭代求解的问题,还是不要用回溯法,因为它花费的时间比较长。
三、 算法描述:
Q Q Q Q Q Q Q Q 0 1 2 3 4 5 6 7 解向量:(x1,x2,···,xn) 显约束:xi = 1,2,···,n 隐约束:1)不同列:xi != xj
2)不处于同一正、反对角线:|i-j| != |x(i)-x(j)| 解空间:满N叉树 (j,x[j]) (i,x[i]) (i,x[i]) (j,x[j]) 四、 程序代码: #include
struct q_place{ int x,y;
q_place():x(0),y(0){} }; public:
queen(int qc):q_count(qc),sum_solution(0){ curr_solution.resize(q_count); }
void backtrack(){ _backtrack(0); } private:
void _backtrack(int t){
if(t >= q_count){
++sum_solution;
for(size_t i=0;i cout<<\= \y = \ } bool _place(int k){ if((abs(curr_solution[i].x-curr_solution[k].x)==abs(curr_solution[ifor(int i=0;i for(int i=0;i curr_solution[t].x = i; curr_solution[t].y = t; if(_place(t)){_backtrack(t+1);} } cout<<\解决方案有\个\ ].y-curr_solution[k].y))||curr_solution[i].x==curr_solution[k].x) } } return true; {return false;}
正在阅读:
算法分析与设计大作业11-27
投资学概论第二次作业10-10
长征开始时各地红军编制03-31
州一中、枣阳一中、宜城一中、曾都一中16—17学年下学期高二期中联考历史试题(附答案)11-02
有机化学总结(手打的啊!)02-01
马克思老师给的考试题库11-03
留学机构选择黑幕,你要知道这些骗术!03-24
不完全竞争第章垄断论寡头垄断产品市场ou04-12
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 算法
- 作业
- 分析
- 设计
- 兽医外科学
- 高铁新城的总体规划方法论-以长沙高铁东部新城为例 - 图文
- 在师资队伍建设工作会议上的讲话
- 会展概论参考资料
- 细胞生物学重点 - 图文
- 渗透测试 实验报告(中国移动安全部)
- 巧用公式计算钟表角
- 统计学期末试题 - 模拟试卷一及答案
- EP9用患者样本进行方法比对及偏倚估:批准指南 - 第二版 - 图文
- 南方CASS9.0教程(手册)
- 可持续发展与经济
- 高中英语外研版选修八单词表
- 09级SPSS应用实验指导书
- 专题二、遗传规律经典例题
- 北大考研辅导班北大计算机技术考研招生专业招生科目考研分数线拟录取考研经验 - 图文
- 25HZ轨道电路故障处理及日常维护
- 百水先生及其建筑作品分析 - 图文
- 化工原理课后习题答案
- 新一代多普勒天气雷达产品 - 图文
- 体育知识试题库