斐波那契数列是学习算法的入门级算法,要对算法进行研究的话我们就必须的掌握斐波那契数列算法。以下从斐波那契数列的简介,递归算法和非递归算法给大家进行介绍。
简介:
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。(百度百科)
递归算法:
什么是递归算法?我将递归算法理解为一个函数的重复调用。F(n)=F(n-1)+F(n-2)。那么重复调用的函数就是F(x)(x可以是任意的正整数)。这个公式的意思是F(n)的值等于其F(n-1)的值加上F(n-2)的值。假如我们求n=3的值,就是F(3)=F(2)+F(1)。由于F(2)=1,F(1)=1,这两个就是我们要找的结束条件。
递归算法的两个必要的条件:1.循环的部分。2.结束条件。我们已经找到这两个