0.为什么要有递归?
在解决某些特定问题的时候,发现可以把整个问题逐步分成不同的小问题,而每个小问题的处理流程或解决方式都是一致的。在这种情况下,就可以把大事化小,比如求斐波那契数列、数的阶乘等。
1.什么是递归函数?
递归函数就是直接或间接调用自身的函数,也就是自身调用自己,以自相似的方式重复项目的处理过程。
2.递归的前提条件
1).存在限制条件
这里的限制条件就如同for循环中的终止条件,如果没有限制条件,那递归函数将一直无限调用自己。总要到一定时候停止递归,这也标志着整个问题得到了解决或者整个处理流程走完了。
2).每次递归调用之后逐渐接近限制条件
这里也很好理解,可以把递归看成一个特殊的循环,只不过在每次循环的时候,会调用自己,在这过程中会不断在内存中开辟函数空间,直到满足限制条件,再逐步返回。
3.递归函数例子
2.阶乘的递归
阶乘的递归公式为: