您的位置:首页 > 其它

趣谈斐波那契数列

2016-04-09 17:17 344 查看
最早研究这个数列的当然是斐波那契喽。他当时是为了描述如下的兔子增长数目。



后来被广泛应用于各种场合,这是数列的定义如下:





首先呢,当我们看到这个数列时,想到的先是用递归的方法实现:




也可用三目运算符实现:




分析:
递归的时间复杂度:递归的次数*每次递归次数。
递归的空间复杂度:递归深度*每次递归的大小。

运用递归实现斐波那契数列,效率非常低。
时间复杂度为O(2^n),空间复杂度为O(n)。

斐波那契数列的优化:

斐波那契数列:0,1,1,2,3,5,8...
可得出规律:从第三个数开始,每个数都为前两个数之和。



注:时间复杂度为O(n),空间复杂度为O(1)

也可用数组的方式实现:




注:时间复杂的为O(n),空间复杂度为O(n)。

注意:
(1)在斐波那契数列中,一定注意当n=0时,结果为0。
(2)应用long long,防止越界。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  斐波那 契数列