斐波那契数列的python实现(递归与list实现)

本文介绍了斐波那契数列的概念及其在数学上的定义,探讨了递归实现斐波那契数列的效率问题,并提出通过列表存储已计算值以提高效率的实现方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

斐波那契数列概念

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

斐波那契数列的实现

 根据数列的数学规律,使用递归的方式进行实现,每一个数的计算都需要回溯到初始位上进行推算。
比如斐波那契数列中【1、1、2、3、5、8、13、21、34】,为了求出第8位21的值,即F(8),就要求出F(7)和F(6)的值,而为了
求出第9位的值F(9),同样要回退到计算F(8)的值以及F(7)的值,而这些过程不会因为前面计算过而不需要再计算。
因此这将会在n的值越大的情况下,递归深度越大,同时也浪费时间在同一个数的计算上,相反如果每一次计算出的值都得到记
录,那么就能解决这个问题了,因而引出list的实现。

两种方式的代码实现

# -*- coding: utf-8 -*-
"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值