斐波那契数列的算法分析

 

版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖。如要转贴,必须注明原文网址
 
upload/201810241612344380.png" alt="" style="border: 0px; max-width: 580px; height: auto;" />

  而f(n+2)=f(n+1)+f(n),所以

     

  从而

     

  又因为这个极限大于0,解方程得

     

 

 

  斐波那契数列不仅有递推公式,也有通项公式。

  既然上述极限存在,我们完全可以猜测它是多个等差数列的和,然后用待定系数法算出来。

  通项公式如下:

    

 

 

         树递归

        

         现在我们就开始本节的重点,如何计算斐波那契数列的第n项

         既然已经知道斐波那契数列的递推公式,那么很容易就给出一个递归函数的版本,因为涉及到大数,我们可以采用Python来描述,本文后续主要采用Python:        

复制代码
def f(n):     if n<3:         return 1    return f(n-1)+f(n-2)
复制代码

 

  JavaScript版本当然如下(只可惜不是自身支持大数,需要实现,否则我更愿意用js描述):

复制代码
function f(n) {     
                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信