搜故事,从300万个故事到海量知识百科的华丽转变!

Python实现斐波那契数列的几种方法

时间:2010-11-28

而且,在每次函数运行都要保存一个列表,占内存 使用生成器来实现生成器是一个特殊的程序,可以被用作控制循环的迭代行为,python中生成器是迭代器的一种

提示:本文共有 728 个字,阅读大概需要 2 分钟。

斐波那契数列(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)

在程序中经常使用斐波那契数列来加深我们对一些结构的理解.下面我们就用python里面几种常见的结构来实现斐波那契数列:

递归实现

递归主要是在函数内部调用自己.

递归实现的代码,非常容易理解,代码也非常简洁,缺点是效率较低

迭代实现

迭代主要思想为: 循环代码中参与运算的变量同时是保存结果的变量,最常见的迭代为遍历列表

这里的fibonacci函数实际上是定义了斐波拉契数列的推算规则,可以从第一个元素开始,推算出后续任意的元素,这种逻辑其实非常类似generator。而且,在每次函数运行都要保存一个列表,占内存.

使用生成器来实现

生成器是一个特殊的程序,可以被用作控制循环的迭代行为,python中生成器是迭代器的一种,使用yield返回值函数,每次调用yield会暂停,而可以使用next()函数和send()函数恢复生成器。

生成器类似于返回值为数组的一个函数,这个函数可以接受参数,可以被调用,但是,不同于一般的函数会一次性返回包括了所有数值的数组,生成器一次只能产生一个值,这样消耗的内存数量将大大减小,而且允许调用函数可以很快的处理前几个返回值,因此生成器看起来像是一个函数,但是表现得却像是迭代器

在这里返回值不再是一个列表,而是一个生成器.可以通过for in 或者 next()来取值

看到此处说明本文对你还是有帮助的,关于“Python实现斐波那契数列的几种方法”留言是大家的经验之谈相信也会对你有益,推荐继续阅读下面的相关内容,与本文相关度极高!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
Python中斐波那契数列

Python中斐波那契数列

2008-09-01 #小故事

斐波那契数列的产生?据说斐波那契数列产生于一个生小兔子的故事 请问这个故事是怎样的?

斐波那契数列的产生?据说斐波那契数列产生于一个生小兔子的故事 请问这个故事是怎样的?

兔子,小兔子,公式,产仔,对数,新生,大兔子,递推,雌雄,斐波那契数列,总和,三个月,斐波那契数,开始时,斐波那契,院子里,假定,共产,关系,学上,子刚,定义,文字,小兔,性质,数学界,数学家,规定,一般地,3时

2020-08-19 #长篇故事

斐波那契数列的故事

斐波那契数列的故事

兔子,斐波那契数列,故事,小兔子,列昂纳多,斐波那契,斐波纳契数列,繁殖能力,例子,因数,学家,两个月后,这个数,通项公式,中提,子又生,还可以,构成了,份数,个数,之和,全书,化学,学上,季刊,定义,小兔,对数,意大利,性质

2020-08-20 #小故事

斐波那契数列的故事

斐波那契数列的故事

兔子,斐波那契数列,故事,小兔子,列昂纳多,斐波那契,斐波纳契数列,繁殖能力,例子,因数,学家,两个月后,这个数,通项公式,中提,子又生,还可以,构成了,份数,个数,之和,全书,化学,学上,季刊,定义,小兔,对数,意大利,性质

2020-08-20 #故事大全

浅谈斐波那契数列

浅谈斐波那契数列

兔子,小兔子,斐波那契数列,成年,这个数,对数,规律,比值,又生,之和,数学,黄金分割,斐波那契,黄金分割数,幼仔,构成了,个数,例子,假设,关系,小子,形式,总体,特点,项数,问题,分析,小学数学,两个月后,三个月

2007-04-07 #故事大全

斐波那契数列

斐波那契数列

兔子,小兔子,列中,这个数,成年,数字,斐波那契数列,又生,都会,假设,个数,初中化学,问题,大师,数量,每个月,多其,还可以,历史,之和,事物,人们,作者,关系,出处,劳动成果,地方,大自然,字样,小子

2008-01-15 #小故事

斐波那契数列的两个令人着迷的特性

斐波那契数列的两个令人着迷的特性

斐波那契数,序列,多米诺骨牌,结果,假设,定理,情况,列中,如果您,数学归纳法,数字,归纳法,方程,步骤,斐波那契,都会,专业,三胞胎,个例,个数,人理,举例说明,事实,乘积,他用,以下内容,代入,学校,写法,传统

2011-08-23 #故事大全

PHP算法:斐波那契数列的N种算法

PHP算法:斐波那契数列的N种算法

斐波那契数,重复计算,自底向上,递归计算,兔子,定义,性能,方法,记忆,问题,存储,斐波那契数列,递归方法,列昂纳多,列以,好的,前言,前段时间,交流学习,例子,低位,常规,因数,学家,学上,次数,解法,递推,影响,循环

2013-06-21 #经典故事