今天從早上開始就在弄回溯法,都說回溯的經典問題是八皇后問題,於是就好好看了一下八皇后的問題。找出所有的情況可能有點難,但是找出一條路來感覺應該挺簡單的。
我一直都不怎麼會用遞迴,這個程式依然沒有遞迴。
/*這個演算法主要解決八皇后問題*/
public
class huisu02
xx++;yy++;
} //判斷反對角線 /
xx=x+y<=7?x+y:7;
yy=x+y<=7?0:x+y-7;
for (int i = yy; i < y; i++)
xx--;yy++;
} return
false;
} public
static
void huisu()
public
static
void main(string args)
} }
}else
} }
} if(i>=8)
} //把得到的結果反映到棋盤上面去
int cheesbord = new
int[8][8];// 代表棋盤放置了皇后就為1,沒放就是0
int j=0;
for (int i = 0; i < points.length; i++)
for (int i = 0; i < 8; i++)
system.err.print("# ");
} system.err.println();
} }
}
對於八皇后問題的描述在ppt裡面。
關於八皇后問題的研究 回溯演算法
今天從早上開始就在弄回溯法,都說回溯的經典問題是八皇后問題,於是就好好看了一下八皇后的問題。找出所有的情況可能有點難,但是找出一條路來感覺應該挺簡單的。我一直都不怎麼會用遞迴,這個程式依然沒有遞迴。這個演算法主要解決八皇后問題 public class huisu02 xx yy 判斷反對角線 xx...
關於八皇后問題的解法
八皇后問題是十九世紀著名的數學家高斯 1850 年提出 在 8x8格的西洋棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行 同一列或同一斜線上,問有多少種擺法。八皇后問題不是只用於這個有點無聊的數學問題上,不然就沒什麼研究意義了。在景觀設計,道路布局,城市規劃等方面有應用價值。比如...
八皇后問題(回溯演算法)
八皇后問題是古老的問題,十八世紀由乙個西洋棋手提出的,即在乙個8 8 的西洋棋盤上,放置八個皇后,使它們不能相互攻擊到。即不能處於同一行,同一列,也不能處於同一條斜線上,問有多少種擺法。八皇后問題是經典的回溯演算法問題,後人利用計算機,算出了8 8 的棋盤上能擺出92種,而後又提出了n皇后問題。本人...