在Java中实现八皇后问题

2014-08-14 03:13李凡
卷宗 2014年6期
关键词:電子棋子皇后

李凡

摘 要:八皇后问题是学习计算机编程语言必讲的一个章节,因为它涉及到编程的核心部分递归,在Java语言课程的教学中也是重点讲授。通过采用回溯算法结合递归,经过分析归纳,给出求解该问题的思路与大致方法。

关键字:八皇后;回溯算法;递归

八皇后问题是一道回溯算法的典型问题:求解如何在一个8*8的棋盘上无冲突地摆放8个皇后棋子。在国际象棋里,皇后的移动方式为横竖交叉的,因此在任意一个皇后所在位置的水平、竖直以及45度斜线上都不能出现其他皇后的棋子,如图1所示,是该问题的一种求解方法。

图2 八皇后问题的求解结果

参考文献

[1] 黄建民,罗杰. 八皇后问题的非递归算法设计. [J]. 计算机与现代化, 2013,8(20)

[2] 陈宇文. 回溯算法在不同解空间树中的应用. [J]. 电脑编程技巧与维护, 2012,12(15)

[3] 张昆.《Java程序员面试指南》. [M]. 電子工业出版社, 2010,4

猜你喜欢
電子棋子皇后
棋子多少颗
摆棋子
有趣的棋子
遇皇后
电子F1
被放逐的皇后
皇后“投球”