读书人

回溯法:n皇后有关问题

发布时间: 2012-11-01 11:11:31 作者: rapoo

回溯法:n皇后问题


回溯法:n皇后有关问题
?

?


回溯法:n皇后有关问题

?Bound function:
回溯法:n皇后有关问题
?算法伪代码:
回溯法:n皇后有关问题
?

?

/** * n-皇后问题 */package com.iteye.caoruntao.nqueen;/** * @author caoruntao * */public class NQueen {private int x[];private int n;public NQueen(int n){this.n = n;this.x = new int[n];}public boolean place(int k){int i = 0;while(i < k){if((x[i] == x[k]) || (Math.abs(x[i]-x[k]) == Math.abs(i-k))){return false;}i++;}return true;}public void printResult(){for(int i=0; i<x.length; i++){System.out.println(x[i]+" ");}}public void ComputerNQueen(){int k = 0;this.x[0] = 0;while(k >= 0){x[k] = x[k]+1;while(x[k] <= n && !place(k)){x[k] = x[k]+1;}if(x[k] <= n){if(k == n-1){printResult();System.out.println("************");x[k] = x[k]+1;//return;}else{k = k+1;x[k] = 0;}}else{k = k-1;}}}/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubNQueen nQueen = new NQueen(4);nQueen.ComputerNQueen();}}

?

读书人网 >编程

热点推荐