相关疑难解决方法(0)

Fibonacci序列的计算复杂性

我理解Big-O表示法,但我不知道如何为许多函数计算它.特别是,我一直试图弄清楚Fibonacci序列的幼稚版本的计算复杂性:

int Fibonacci(int n)
{
    if (n <= 1)
        return n;
    else
        return Fibonacci(n - 1) + Fibonacci(n - 2);
}
Run Code Online (Sandbox Code Playgroud)

Fibonacci序列的计算复杂度是多少以及如何计算?

complexity-theory big-o fibonacci time-complexity

310
推荐指数
8
解决办法
29万
查看次数

C++中的尾递归

有人可以在C++中向我展示一个简单的尾递归函数吗?

为什么尾部递归更好,如果它甚至是?

除了尾递归之外还有哪些其他类型的递归?

c++ recursion tail-recursion g++

60
推荐指数
3
解决办法
4万
查看次数

是否有比这更好的方法(性能)计算斐波那契?

我制作了这个代码..而且我需要充分利用它...我真的需要计算斐波那契数字的最佳表现..请帮助...

我已经阅读了一些这类计算的代码,我想我得到了最好的...

Avaliate this for me .. plz ..

ps:我真的需要BigInteger ..我会计算出庞大数字的斐波纳契

ps2:我用这个算法计算了一些大数字,我得到了很好的响应时间..但我需要知道它是否会更好

ps3:要运行此代码,您需要使用此VM参数-Xss16384k(StackSize)

public class Fibonacci {

    private static BigInteger[] fibTmp = { BigInteger.valueOf(0), BigInteger.valueOf(1) };

    public static BigInteger fibonacci(long v) {

        BigInteger fib = BigInteger.valueOf(0);

        if (v == 1) {

            fib = BigInteger.valueOf(1);

        } else if (v == 0) {

            fib = BigInteger.valueOf(0);

        } else {

            BigInteger v1 = fibonacci(v - 1);
            BigInteger v2 = fibTmp[(int) (v - 2)];

            fib = v1.add(v2);
        }

        synchronized (fibTmp) {

            if …
Run Code Online (Sandbox Code Playgroud)

algorithm performance fibonacci

5
推荐指数
2
解决办法
3923
查看次数