斐波那契数列的递归与非递归算法实现及其时间复杂度

斐波那契数列 1、1、2、3、5、8、13、21、34……

int F(int n)//递归算法
{
    if(n<=1) return 1;
    return F(n-1)+F(n-2);//O(n)=2^n
}

int f(int n)//非递归算法
{
    int i,j=1,k=1,p=1;
    for (i=2;i<=n;i++)//T(n)=n-1,O(n)=n
    {
        j=k+p;
        k=p;
        p=j;
    }
    return j;

}

int main()
{
    printf("%d\n",F(7));
    printf("%d\n",f(7));
}
    原文作者:递归算法
    原文地址: https://blog.csdn.net/lxf_44944/article/details/43793917
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞