• 大小: 4KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-01-02
  • 语言: 其他
  • 标签:

资源简介

用迭代法,递归法解决N后问题,打印出正解的位置,输出所有解,输出各个程序的执行时间,方便对比各个程序的优略.舍伍德算法则是算出一组解即可。可以对比一下执行效率。

资源截图

代码片段和文件信息

package nqueen;

import java.io.*;

/**
 * 
 * 程序目的:回溯法做N皇后问题
 * 
 * @author Sun
 * 
 *         2011-11-20
 */
public class Backtrack {

/**
 * @param args
 */
private int N = 65535;// 问题的规模(注意:此处必须要定义一个数值,因为在下一句数组的定义时要用到此数字,否则报错)
private int[] position = new int[N + 1];// 存放解存放的位置
private int count = 0;// 存放解的个数

/**
 * 设置问题的规模
 */
public void setN(int n) {
this.N = n;
}

/**
 * 返回规模值
 * @return
 */
public int getN() {
return N;
}

/**
 * 得到解的个数
 * 
 * @return
 */
public int getCount() {
return count;
}

/**
 * 此位置能否放置皇后
 * 
 * @param row
 * @return
 */
public boolean Safe(int row) {
int i;
for (i = 1; i < row; i++) {
if (position[row] == position[i]
|| i - position[i] == row - positio

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2303  2011-11-21 13:41  Backtrack.java
     文件        2630  2011-11-21 13:42  NQueen.java
     文件        2928  2011-11-28 20:31  QueenRandomSet.java

评论

共有 条评论

相关资源