目 录
一、设计目的………………………………………………………………………………………4
二、课程设计基本要求……………………………………………………………………………4
三、课程设计内容及安排…………………………………………………………………………4
四、八皇后背景知识………………………………………………………………………………5
五、八皇后问题的实现……………………………………………………………………………6
5.1、递归方法解八皇后问题…………………………………………………………………6
5.1.1、递归介绍…………………………………………………………………………7
5.1.2、使用到的函数和变量……………………………………………………………8
5.1.3、具体运行结果…………………………………………………………………10
5.1.4、算法流程图……………………………………………………………………11
5.1.5、递归算法代码…………………………………………………………………12
5.1.6、算法分析………………………………………………………………………13
5.2、回溯法解决八皇后问题…………………………………………………………………13
5.2.1、回溯法介绍……………………………………………………………………13
5.2.2、使用到的函数与变量…………………………………………………………14
5.2.3、具体运行结果…………………………………………………………………15
5.2.4、算法流程图……………………………………………………………………16
5.2.5、回溯算法代码…………………………………………………………………17
5.2.6、算法分析………………………………………………………………………18
5.3、堆栈法解八皇后问题……………………………………………………………………18
5.3.1、堆栈法介绍……………………………………………………………………18
5.3.2、使用到的函数与变量…………………………………………………………19
5.3.3、具体运行过程…………………………………………………………………20
5.3.4、算法流程图……………………………………………………………………21
5.3.5、堆栈法实现的源代码…………………………………………………………21
5.3.6、算法分析………………………………………………………………………25
5.4、三种算法的比较…………………………………………………………………………25
5.5、八皇后问题所有输出结果………………………………………………………………26
六、N皇后问题的实现……………………………………………………………………………30
6.1、N皇后问题介绍…………………………………………………………………………30
6.2、使用到的函数与变量……………………………………………………………………30
6.3、具体的执行………………………………………………………………………………31
6.4、算法流程图………………………………………………………………………………31
6.5、N皇后的源代码…………………………………………………………………………32
6.6、算法分析…………………………………………………………………………………32
七、经验和体会……………………………………………………………………………………32
八、参考文献………………………………………………………………………………………32
九、附录……………………………………………………………………………………………33
附录一:递归算法代码………………………………………………………………………34
附录二:回溯算法代码………………………………………………………………………34
附录三:堆栈法的源代码……………………………………………………………………36
附录四:N皇后的源代码……………………………………………………………………39
1