研究了递归方法实现回溯,解决N皇后问题,下面我们来探讨一下非递归方案

实验结果令人还是有些失望,原来非递归方案的性能并不比递归方案性能高

代码如下:

package com.newflypig.eightqueen;import java.util.Date;/*** 使用循环控制来实现回溯,解决N皇后* @author newflydd@189.cn* Time : 2016年1月1日 下午9:37:32*/
public class EightQueen4 {private static short K=15;private static short N=0;private static boolean dead=false;    //下方走到了死路public static void main(String[] args) {for (N = 9; N <= K; N++) {Date begin = new Date();dead=false;long count = 0;/*** -2:初始状态,尚未摆放 -1:开始尝试摆放 0到N-1:皇后安全的摆放在这一列的哪一行*/short[] chess = new short[N];for (short i = 1; i < N; i++)

8皇后以及N皇后算法探究,回溯算法的JAVA实现,非递归,循环控制及其优化相关推荐

  1. 【C语言】算法学习·回溯算法

    目录 一.全排列问题 二.N 皇后问题 三.最后总结 回溯算法基本框架 解决一个回溯问题,实际上就是一个决策树的遍历过程.你只需要思考 3 个问题: 1.路径:也就是已经做出的选择. 2.选择列表:也 ...

  2. 一文了解贪心算法和回溯算法在前端中的应用

    一文了解贪心算法和回溯算法在前端中的应用 一.贪心算法 1.贪心算法是什么? 2.应用场景 3.场景剖析:零钱兑换 二.回溯算法 1.回溯算法是什么? 2.什么问题适合选用回溯算法解决? 2.应用场景 ...

  3. 常用十大算法 非递归二分查找、分治法、动态规划、贪心算法、回溯算法(骑士周游为例)、KMP、最小生成树算法:Prim、Kruskal、最短路径算法:Dijkstra、Floyd。

    十大算法 学完数据结构该学什么?当然是来巩固算法,下面介绍了十中比较常用的算法,希望能帮到大家. 包括:非递归二分查找.分治法.动态规划.贪心算法.回溯算法(骑士周游为例).KMP.最小生成树算法:P ...

  4. 常用算法总结(穷举法、贪心算法、递归与分治算法、回溯算法、数值概率算法)

    博主联系方式: QQ:1540984562 微信:wxid_nz49532kbh9u22 QQ交流群:892023501 目录 1.穷举法 2.贪心算法 3.递归与分治算法 4.回溯算法 5.数值概率 ...

  5. 回溯算法和贪心算法_回溯算法介绍

    回溯算法和贪心算法 回溯算法 (Backtracking Algorithms) Backtracking is a general algorithm for finding all (or som ...

  6. C++算法学习(回溯算法)

    回溯算法 1.目标 2.方法 3.具体思路 4.例题 (1)[力扣:10. 正则表达式匹配](https://leetcode-cn.com/problems/regular-expression-m ...

  7. java回溯算法_回溯算法讲解--适用于leetcode绝大多数回溯题目

    什么是回溯算法? 回溯法是一种系统搜索问题解空间的方法.为了实现回溯,需要给问题定义一个解空间. 说到底它是一种搜索算法.只是这里的搜索是在一个叫做解空间的地方搜索. 而往往所谓的dfs,bfs都是在 ...

  8. 【算法】回溯算法+进阶题——全排列Ⅱ、组合总和Ⅱ、解数独

    目录 一.前言 • 什么是回溯算法 • 用回溯能解决那些题型 二.总体思路 1. 通过树逐层解剖 2. 代码框架 3. 是否需要去重 三.例题 1. 组合总和Ⅱ 2. 全排列Ⅱ 3. 解数独 一.前言 ...

  9. python回溯算法_回溯算法经典问题及python代码实现

    2. 0-1背包问题 # 0-1 bag problem import sys def f(no, cur_mass, things, num): global cur_max if no == nu ...

  10. 常用十大算法_回溯算法

    回溯算法 回溯算法已经在前面详细的分析过了,详见猛击此处. 简单的讲: 回溯算法是一种局部暴力的枚举算法 循环中,若条件满足,进入递归,开启下一次流程,若条件不满足,就不进行递归,转而进行上一次流程. ...

最新文章

  1. 063_提升Hoisting
  2. 各类电脑高效率神器使用及下载地址
  3. Java 关系运算符
  4. 用oracle怎么测试,oracle – 如何(单位)测试数据密集的PL / SQL应用程序
  5. ListBox类似组件,鼠标右键点击事件得到选中Item
  6. git命令:将多个commit提交记录修改为1条
  7. Nginx+Tomcat动静分离
  8. 关于ajax入门案例
  9. 深度为你解答怎么避免域名被微信拦截,微信域名防封需要注意哪些问题?
  10. 字典、集合与字符串——Python基础语法
  11. linux虚拟机scsi类型,linux虚拟机的scsi设备id与盘符不一致问题的解决
  12. ZZULIOJ:1001: 整数a+b
  13. 三、判断三元一次方程组是否有解及求解——(计算糖果)
  14. python100天从新手到大师下载_GitHub - chenqiyi/Python-100-Days: Python - 100天从新手到大师...
  15. 白兵机器人怎样连接_“玩具之家”的新宠——星战白兵冲锋队员机器人体验
  16. android 9 qq登录,【报Bug】安卓离线打包targetSdkVersion设置28时,在安卓9.0手机上QQ授权登录闪退...
  17. 考研英语 常见短语及替换
  18. 第 6章 图——数据结构
  19. 手机开机电流多少正常手机电流分析教程
  20. 分享个ampak正基驱动文件,瑞芯微及安卓系统案例

热门文章

  1. 小师妹学JavaIO之:目录还是文件
  2. 浅谈装饰模式应用于IO中
  3. Intellij IDEA中安装使用PlantUML画时序图、类图等
  4. 深入理解input中的value、name、id的区别和用法——Web前端自学笔记
  5. 45行代码AC_2017年第八届蓝桥杯C/C++ A组第二题(广搜模板+解题报告)
  6. 12行代码AC——UVa 151 - Power Crisis(约瑟夫环)
  7. (*长期更新)软考网络工程师学习笔记——Section 3 宽带接入技术和导引型传输媒体
  8. 解决 FtpClient 类无法导入 .
  9. java反射效率对比_Java反射三种方式的效率对比
  10. 命令python所在的驱动器和文件夹_Python读取不同本地驱动器位置的文件