重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
最早研究这个数列的当然是斐波那契喽。他当时是为了描述如下的兔子增长数目。
站在用户的角度思考问题,与客户深入沟通,找到磐石网站设计与磐石网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟空间、企业邮箱。业务覆盖磐石地区。
后来被广泛应用于各种场合,这是数列的定义如下:
首先呢,当我们看到这个数列时,想到的先是用递归的方法实现:
也可用三目运算符实现:
分析:
递归的时间复杂度:递归的次数*每次递归次数。
递归的空间复杂度:递归深度*每次递归的大小。
运用递归实现斐波那契数列,效率非常低。
时间复杂度为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,防止越界。