1
2
3
4
5
6
7
|
long int Fib(int N)
{
if (N <=1)
return 1;
else
return Fib(N-1)+Fib(N-2);
}
|
设Fib(N)的运行时间为T(N).
当N=0或N=1时,运行时间为常数,记为T(0)=T(1)=1.
当N>=2时,T(N) = T(N-1)+T(N-2)+2
最后得到Fib(N)>=(3/2)的N次方,即为该程序的时间复杂度,可以看到其运行时间呈现指数级增长。 【详见斐波那契数列】