安阳做网站推广最好的公司百度一下一下你就知道
目录
1.方法递归调用
基本介绍
递归能解决什么问题?
八皇后问题
递归举例
递归重要规则
练习
2.递归调用应用实例-迷宫问题
3.递归调用实例-汉诺塔
4.递归调用实例-八皇后问题
1.方法递归调用
基本介绍

简单来说,递归就是自己调用自己。
例如:

递归是在函数里自己调用自己
递归能解决什么问题?

各种数学问题,8皇后,汉诺塔等。
八皇后问题

recursion是递归的意思。
任一两个皇后都不能处于同一行,同一列,或者同一斜线上。
递归举例


递归时,每调用一次函数,就会在栈空间开辟一块空间,当开辟的那块空间执行完,就回到上一层继续执行。

递归重要规则

每执行一个方法就会创建一个新的受保护的独立空间(栈空间)
练习

斐波拉契数列就是除了第一个和第二个数以外,之后的数都是前两个数之和


2.递归调用应用实例-迷宫问题

似乎是dfs,深度优先算法
 



按照下右上左的顺序在寻路。

不同的搜索策略使得得到的路线不同
如果是上右下左的话就会是这样。
3.递归调用实例-汉诺塔

小盘上面不能放比它大的圆盘。


4.递归调用实例-八皇后问题


使用栈来解决。
