数据结构论坛

首页 » 分类 » 常识 » 数据结构和算法十一递归八皇后问题
TUhjnbcbe - 2021/1/5 0:50:00
1.数据结构和算法(十一)递归-八皇后问题1.1八皇后问题

在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问一共有多少种摆法。大数学家高斯认为一共有76种摆法,年在柏林的象棋杂志上不同的作者发表了共计40种不同的见解,后来还有人利用图论的方法得出共有92种摆法。在这里插入图片描述

如何解决八皇后问题?使用递归回溯法,这种方法从棋盘的第一行开始尝试摆放第一个皇后,摆放成功后,递归一层,再遵循规则在棋盘第二行来摆放第二个皇后。如果当前位置无法摆放,则向右移动一格再次尝试,如果摆放成功,则继续递归一层,摆放第三个皇后......

八皇后问题的代码实现?

找出第一种正确摆放方式,也就是深度优先遍历。找出全部的正确摆放方式,也就是广度优先遍历。1.2JAVA实现摆放方式??回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。

package

1
查看完整版本: 数据结构和算法十一递归八皇后问题