斐波那契的实现

2017-10-30  本文已影响0人  wisdom1991

斐波那契的递归实现:

    public int fbi(int i) {
        if (i < 2) {
            return i <= 0 ? 0 : 1;
        }
        return fbi(i - 1) + fbi(i - 2);
    }

斐波那契的迭代实现:

    public int fbi(int i) {
        if (i < 2) {
            return i <= 0 ? 0 : 1;
        }
        int index = 2;
        int a = 0;
        int b = 1;
        int ret = 0;
        while (index <= i) {
            ret = a + b;
            a = b;
            b = ret;
            index++;
        }
        return ret;
    }

实际运行的时候,发现递归实现的效率惊人的低。
大量使用递归,需要消耗大量的内存占用和时间。

上一篇 下一篇

猜你喜欢

热点阅读