君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理
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次方,即为该程序的时间复杂度,可以看到其运行时间呈现指数级增长。  【详见斐波那契数列】

posted on 2014-06-21 14:24  刺猬的温驯  阅读(388)  评论(0编辑  收藏  举报