可能很多同学大一就已经接触递归了,但是呢,我相信很多初学者刚开始接触递归的时候,一脸懵逼,递归算法怎么那么神奇。
可能也有一大部分人知道递归,也能看的懂递归,但在实际做题过程中,却不知道怎么使用,有时候还容易被递归给搞晕。这里我整理了这篇文章希望对你理解递归带来一些帮助。
1、什么是递归?
递归算法就是把问题分解成规模较小的同类问题的子问题,然后递归调用函数来求解问题的解。简单来说,就是如果在函数中存在着调用函数本身的情况,这种现象就叫递归。
下列以阶乘函数为例,如下, 在 factorial 函数中存在着 factorial(n - 1) 的调用,所以此函数是递归函数
public int factorial(int n)