递归
线性递归
例子1:数组求和
int sum( int A[], int n) { //数组求和算法:线性递归版
if ( 1 > n ) //平凡情况,递归基
return 0; //直接计算
else //一般情况
return sum(A, n-1) + A[n - 1]; //递归:前n-1项之和,再累计第n-1项
}
每一递归实例对自身的调用至多一次。于是,每一层次上至多只有一个实例,且它们构成一个线性的次序关系。此类递归模式称作“线性递归”,这是递归最基本形式。