李凡
摘 要:八皇后問題是學習計算機編程語言必講的一個章節(jié),因為它涉及到編程的核心部分遞歸,在Java語言課程的教學中也是重點講授。通過采用回溯算法結(jié)合遞歸,經(jīng)過分析歸納,給出求解該問題的思路與大致方法。
關(guān)鍵字:八皇后;回溯算法;遞歸
八皇后問題是一道回溯算法的典型問題:求解如何在一個8*8的棋盤上無沖突地擺放8個皇后棋子。在國際象棋里,皇后的移動方式為橫豎交叉的,因此在任意一個皇后所在位置的水平、豎直以及45度斜線上都不能出現(xiàn)其他皇后的棋子,如圖1所示,是該問題的一種求解方法。
圖2 八皇后問題的求解結(jié)果
參考文獻
[1] 黃建民,羅杰. 八皇后問題的非遞歸算法設(shè)計. [J]. 計算機與現(xiàn)代化, 2013,8(20)
[2] 陳宇文. 回溯算法在不同解空間樹中的應用. [J]. 電腦編程技巧與維護, 2012,12(15)
[3] 張昆.《Java程序員面試指南》. [M]. 電子工業(yè)出版社, 2010,4