递归深度是怎么计算出来的

顺序查找

template<class T>
T rSum(T a [ ], int n)
{
      if(n>0)
          return rSum(a, n-1)+a[n - 1];
     return 0;
}

int factorial(int n)
{
    if(n<=1) return 1;
    else return n*factorial(n-1);
}

为什么第一个,求和的函数递归深度是n+1;第二个求阶乘的函数递归深度为n

第1个 到0时回溯
第2个 到1时回溯