美文网首页
斐波那契数

斐波那契数

作者: Peter杰 | 来源:发表于2019-08-26 10:45 被阅读0次

  斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列、费波那西数列、费波拿契数、费氏数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……
在数学上,斐波那契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=Fn-1+Fn-2(n>=2,n∈N*),用文字来说,就是斐波那契数列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两数相加。

//1、1、2、3、5、8、13、21、……
//时间复杂度 O(n)
int fib (int n){
    if (n<=1) {
        return 1;
    }
    int first = 0;
    int second = 1;
    for (int i = 0; i<n-1; i++) {
        second = first + second;
        first = second-first;
    }
    return second;
}

递归
时间复杂度:O(2^n)

int fib (int n){
    if (n<=1) {
        return 1;
    }
    return fib(n-1)+fib(n-2);
}

动态规划
时间复杂度:O(n)
空间复杂度:O(n)

int fib(int n){
    int array[n];
    array[0] = 1;
    array[1] = 1;
    for (int i = 2; i<n; i++) {
        array[i] = array[i-1]+array[i-2];
    }
    return array[n-1];
}

相关文章

  • Python实现斐波那契数列

    什么是斐波那契数 斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci)...

  • 求斐波那契数,你还在用递归吗?

    1、什么是斐波那契数? 斐波那契数,又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibon...

  • 「算法」斐波那契数 & 反转字符串

    00509 斐波那契数 题目描述 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和...

  • LeetCode-509. 斐波那契数

    509. 斐波那契数 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,...

  • 力扣(LeetCode)题解 (C语言)509. 斐波那契数

    509. 斐波那契数 题目: 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1...

  • 10:斐波那契数列

    题目10:斐波那契数列 斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonac...

  • Code Snip

    斐波那契数

  • 简单算法

    实现 trim 斐波那契数列 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1...

  • Go 实现斐波那契数列

    斐波那契数列 斐波那契数列由0和1开始,之后的斐波那契数就是由之前的两数相加而得出。现通过一个递归函数,输入 x,...

  • 剑指Offer(七)

    剑指Offer(七) 斐波那契数列 题目描述: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数...

网友评论

      本文标题:斐波那契数

      本文链接:https://www.haomeiwen.com/subject/faensctx.html