李凡
摘 要:八皇后问题是学习计算机编程语言必讲的一个章节,因为它涉及到编程的核心部分递归,在Java语言课程的教学中也是重点讲授。通过采用回溯算法结合递归,经过分析归纳,给出求解该问题的思路与大致方法。
关键字:八皇后;回溯算法;递归
八皇后问题是一道回溯算法的典型问题:求解如何在一个8*8的棋盘上无冲突地摆放8个皇后棋子。在国际象棋里,皇后的移动方式为横竖交叉的,因此在任意一个皇后所在位置的水平、竖直以及45度斜线上都不能出现其他皇后的棋子,如图1所示,是该问题的一种求解方法。
图2 八皇后问题的求解结果
参考文献
[1] 黄建民,罗杰. 八皇后问题的非递归算法设计. [J]. 计算机与现代化, 2013,8(20)
[2] 陈宇文. 回溯算法在不同解空间树中的应用. [J]. 电脑编程技巧与维护, 2012,12(15)
[3] 张昆.《Java程序员面试指南》. [M]. 電子工业出版社, 2010,4