**1.**知道写这个递归函数的目的是什么,比如算肺部垃圾数列,活着求n的阶乘
即先不要管里面的代码,先在宏观层面上考虑它的整体功能
**2.**递归结束条件,由于它是一直调用自己,如果没有一个明确的结束条件它会是一个死循环
3.****不断缩小自己的参数的递推表达式,比如f(n)=f(n-1)+f(n-2)这里的参数是n 这里把n拆分成了n-1和n-2
而n-1和n-2也会不断被拆分而且是依靠这个地推表达式进行拆分的
重新给出通俗定义,写一个可以函数中参数(void f(int n)中的n)范围不断缩小到一直最小的函数
递归树有利于理解递归
图片截取自知乎 侵删
大佬写的很好一步步搭建了递归函数
首先是函数体
int f(int n)//n是目标的n级台阶 函数的目的是求有多少种跳法
{
{
n=1时候显然就一种跳法
而n=2时候有两种即1+1 和 2
思考的时候是以递归函数位单位思考的也就是一叶知秋的感觉 f(n-1)得益于递推式f(n)=f(n-1)+f(n-1) 表示无限拆分到最后的东西