斐波那契数列

斐波那契数列指的是这样一个数列:0、1、1、2、3、5、8、13、21、34......,仔细观察这个数列的规律可得出,第0项和第一项分别是他们本身,从第二项开始每一项等于前两项相加之和,下面我们根据这个规律来实现以下求斐波那契数列的第N项

斐波那契数列的实现方法有很多种,下面我们用两种方式实现一下(以下代码都是C语言实现)

一.递归算法实现

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

二.for循环实现

int Fibo2(int n)
{
    if (n < 2) {
        return  n;
    }
    
    int sum;
    int first = 0;
    int second = 1;
    for (int i = 0; i < n - 1; i++) {
        sum = first + second;
        first = second;
        second = sum;
    }
    return second;
}

以上两种实现方式对比,第一种的时间复杂度为O(2^n),第二种的时间复杂度为O(n),项目中为了节省运行时间和空间,我们尽量采用复杂度低的算法来实现功能,所以比较推荐第二种实现方式。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容