在各种语言中,谈到递归首当其冲的是斐波那契数列,太典型了,简直就是标杆

一开始本人在学习递归也是如此,因为太符合逻辑了

后台在工作和学习中,不断反思递归真的就好嘛?

首先递归需要从后往前推导,所有数据都要保存一遍~,如果是输入很大数字,如以前的1M内存可能不够把??

我们暂且不谈过去,毕竟是过去,现在即使手机的内存都动辄3G、4G,哪能不够

斐波那契数列典型代码如下:

def fib1(x):
if x == 1:
return 1
elif x == 2:
return 1
elif x > 2:
return fib1(x - 1) + fib1(x - 2)
else:
return 0

如果算100以内还是比较快的,如果算10000明显比较慢

换个思路,如果我们不使用推导,而是正常的向下计算,速度是不是很快?

代码如下:

def fib2(x):
if x == 1:
return 1
elif x == 2:
return 1
elif x > 2:
x1 = 1
x2 = 1
result = 0
for i in range(3,x + 1):
result = x1 + x2
x1,x2 = x2,result
return result
else:
return 0

在pycharm中分别计算俩个的运行速度发现,推导式很慢:

aaarticlea/png;base64,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" alt="" />

上面是执行fib1(30)的结果,下面是执行fib2(30)的结果,当计算35的时候,如下图:

aaarticlea/png;base64,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" alt="" />

很明显。。。在性能方面,推导式不合适

python之斐波那契数列递归推导在性能方面的反思的更多相关文章

  1. Python中斐波那契数列的四种写法

    在这些时候,我可以附和着笑,项目经理是决不责备的.而且项目经理见了孔乙己,也每每这样问他,引人发笑.孔乙己自己知道不能和他们谈天,便只好向新人说话.有一回对我说道,“你学过数据结构吗?”我略略点一点头 ...

  2. python实现斐波那契数列(Fibonacci sequence)

    使用Python实现斐波那契数列(Fibonacci sequence) 斐波那契数列形如 1,1,2,3,5,8,13,等等.也就是说,下一个值是序列中前两个值之和.写一个函数,给定N,返回第N个斐 ...

  3. python基础----斐波那契数列

    python实现斐波那契数列的三种方法 """ 斐波那契数列 0,1,1,2,3,5,8,13,21,... """ # 方法一:while ...

  4. python实现斐波那契数列

    https://www.cnblogs.com/wolfshining/p/7662453.html 斐波那契数列即著名的兔子数列:1.1.2.3.5.8.13.21.34.…… 数列特点:该数列从第 ...

  5. python实现斐波那契数列笔记

    斐波那契数列即著名的兔子数列:1.1.2.3.5.8.13.21.34.…… 数列特点:该数列从第三项开始,每个数的值为其前两个数之和,用python实现起来很简单: a=0 b=1 while b ...

  6. [Python3.X]python 实现斐波那契数列

    斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一 ...

  7. Reverse反转算法+斐波那契数列递归+Reverse反转单链表算法--C++实现

    Reverse反转算法 #include <iostream> using namespace std; //交换的函数 void replaced(int &a,int & ...

  8. PHP算法之斐波那契数列(递归)

    /*斐波那契数列 源代码分析 f(x) = 1 ; 当 x < 2 ; f(x) = f(x-1)+f(x-2); 当 x >= 2 ; 通项式为:fn ={((1+根号5)/2)^n-( ...

  9. Python中斐波那契数列的赋值逻辑

    斐波那契数列 斐波那契数列又称费氏数列,是数学家Leonardoda Fibonacci发现的.指的是0.1.1.2.3.5.8.13.21.34.······这样的数列.即从0和1开始,第n项等于第 ...

随机推荐

  1. spark快速开发之scala基础之5高阶函数,偏函数,闭包

    高阶函数 高阶函数就是将函数作为参数或者返回值的函数. object function { def main(args: Array[String]): Unit = { println(test(f ...

  2. 解决IE浏览器缓存导致AJAX请求数据异常

    IE10浏览器会把AJAX请求的数据都缓存下来,然后每次想去刷新数据时发现数据都是一样的,于是导致数据显示异常. 解决方法: 在页面<head>标签里,加上以下声明: <!-- 解决 ...

  3. Python开发——数据类型【运算符】

    算数运算符 比较运算符 赋值运算符 逻辑运算符 成员运算符

  4. 最近素数问题——C语言

    从键盘输入一个整数,输出距离该数最近的素数 #include<stdio.h> #include<math.h> int judge(int x) { //判断素数 if (x ...

  5. Java-static关键字解析

    static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列 ...

  6. Alpha 冲刺 (10/10)

    队名 火箭少男100 组长博客 林燊大哥 作业博客 Alpha 冲鸭鸭鸭鸭鸭鸭鸭鸭鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调各成员之间的工作 测试整体软件 展示GitHub当 ...

  7. Effective C++ 笔记:条款 30 inline

    30 : Understand the ins and outs of inlining 1 inline申请书 1.1 类内部实现函数包含隐藏的inline申请 class Human { publ ...

  8. mysql 在原有的时间上加10个月或者一年

    UPDATE SERVER_TIME_LEFT SET END_TIME = DATE_ADD(END_TIME, INTERVAL 10 MONTH) WHERE SHOP_ID BETWEEN 1 ...

  9. SpringMVC源码解读 - HandlerMapping - RequestMappingHandlerMapping请求分发

    AbstractHandlerMethodMapping实现接口getHandlerInternal,定义查找流程 RequestMappingInfoHandlerMapping根据RequestM ...

  10. Oracle实现like多个值的查询

    问题背景描述: 某天客户有一个需求,给定一批的手机号码或者电话号码,查询出相关的通话记录,以及相关的一些信息. 客户给定的被叫号码如图所示:   查询出来的结果如下图所示(本批次的结果不是上图导入的结 ...