1、递归问题
斐波那契数列
int fib(int n)
{
if(n<=1) return n;
return fib(n-1)+fib(n-2);
}
复杂度2**n
证明:
假设fib(n)=fib(n-1)+fib(n-2)其中复杂度为f(b);
则有:f(b) = f(b-1)+f(b-2)+3
=f(b-2)+f(b-3)+3+f(b-3)+f(b-4)+3+3
=f(b-k)+....(包含f(b-k)的步骤有2**k项)...+3*(1+2+4+..+2**(k-1)
当b-k=1的时候停止,因为那时候步骤结果为1
以上推出2**k+3*(2**k-1)=2**(k+2)-3
所以复杂度是指数级别的
复杂度计算教学视频:
http://open.163.com/movie/2010/6/L/D/M6TCSIN1U_M6TCT3PLD.html