算法中效率问题

来源:互联网 发布:ps cs3 mac版 编辑:程序博客网 时间:2024/06/10 08:47

斐波那契数列效率问题:

int fib1(intn)

{

    if (n == 1 ||n == 2)

    {

         return 1;

    }

    return fib1(n - 1) + fib1(n - 2);

}

 

int fib2(intn)

{

    if (n == 1 ||n == 2)

    {

         return 1;

    }

    if (n == 3)

    {

         return 2;

    }

 

    int nLast = 1; // f(1)、f(2)

    int nSum = 2;  // f(3)

 

    for (int i = 3; i <n; ++i)

    {

         int nTemp = nSum;

         nSum = nSum + nLast; // 下一个

         nLast = nTemp;

    }

    return nSum;

}

0 0