一、概念
数学与计算机科学范畴,是指在函数的定义中使用函数自身的方法。
递归算法是一种直接或者间接调用自身函数的算法。
二、本质
递归,去的过程叫"递",回来的过程叫"归",递是调用,归是结束后回来。
是一种循环,而且在循环中执行的就是调用自己。
三、递归三要素
- 结束条件
- 函数主功能
- 函数的等价关系式(参数、返回值、关系)
四、递归方法模板
public int recursion(int n) {
//结束条件
if (n == 1) {
return 1;
}
//do something 函数主功能
System.out.println(n);
//等价关系式f(n)=n+f(n-1) 转换为简单问题
return n + recursion(n - 1);
}