4.特征方程求递归方程。
7.斐波那锲的时间复杂度。
递归算法:
求解F(n),必须先计算F(n-1)和F(n-2),计算F(n-1)和F(n-2),又必须先计算F(n-3)和F(n-4),
以此类推,直至必须先计算F(1)和F(0),然后逆推得到F(n-1)和F(n-2)的结果,
算法的时间复杂度随着N的增大呈现指数增长,即时间的复杂度为O(n^2)。
非递归算法:
用F(n-1)和F(n-2)两个数直接从小到大相加求出结果,
算法的时间复杂度与n成正比,即算法的时间复杂度为O(n).
9.递归方法求字符串长度
代码:
#include <stdio.h>
int Len(char *str){//从首字符开始对字符串指向的字符进行递归并计数
if(*str==‘\0’)
return 0;
else
return 1+Len(str+1);
}
int main(){
char arr[]=" G o o d !“;
int lenth=0;
lenth=Len(arr);
printf(”%d\n",lenth);
return 0;
}
结果: