0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

算法:计算Fibonacci number的六个方法

如意 来源:CSDN 作者:CaspianSea 2020-06-22 17:27 次阅读

Fibonacci number是这样的数列:

f(0) = 0, f(1) = 1,

f(n) = f(n-1) + f(n-2) (n 》=2)

下面给出几种求解方法

1) 使用函数递归方法。

算法:计算Fibonacci number的六个方法

这个是最容易想到的方法

但是这个比较花时间,因为有很多重复计算(重复的函数调用)。

在我的电脑上,计算f(45)的值,用了10.256秒的时间。

2) 把计算的中间结果保存下来,避免重复计算。

算法:计算Fibonacci number的六个方法

用这种方法计算f(45),仅仅用了 0.000017秒的时间, 时间降低了百万倍!

3) 第二种方法,使用了较多的内存保存中间结果。还可以进一步减少内存的使用。

算法:计算Fibonacci number的六个方法

所需时间和 2)差不多。
4)不使用函数递归,使用迭代的方法

算法:计算Fibonacci number的六个方法


5)

算法:计算Fibonacci number的六个方法


6)

算法:计算Fibonacci number的六个方法

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4599

    浏览量

    92617
  • C语言
    +关注

    关注

    180

    文章

    7597

    浏览量

    136120
收藏 人收藏

    评论

    相关推荐

    10经典的C语言面试基础算法及代码

    算法是一程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手。本文包括了经典的Fibonacci数列、简易
    发表于 11-20 15:18

    关于六个自由度座椅的控制

    最近在参与一六个自由度座椅控制的课题,需要查阅哪些方面的相关书籍,有什么推荐吗?谢谢各位
    发表于 01-13 14:46

    六个带有WiFi模块的单片机跟一配置为AP模式的单片机通信,六个之间并不通信

    我得目的是让六个带有WiFi模块的单片机跟一配置为AP模式的单片机通信,六个之间并不通信这个过程绝不能涉及任何手机电脑路由器,不知道可不可以。想听听各位的的高见
    发表于 05-16 06:35

    10经典的C语言面试基础算法及代码

    1、计算Fibonacci数列Fibonacci数列又称斐波那契数列,又称黄金分割数列,指的是这样一数列:1、1、2、3、5、8、13、21。C语言实现的代码如下:/* Displa
    发表于 07-25 17:07

    关于10大C语言基础算法

    算法系列的第二篇,包括了经典的Fibonacci数列、简易计算器、回文检查、质数检查等算法。也许他们能在你的毕业设计或者面试中派上用场。1、计算
    发表于 04-29 14:30

    sd可以实现六个面对应六个不同文件夹sd音乐吗?

    想做一感应正方体音乐盒,通过三轴加速度计去感应六个面的变化,从而去读取sd不同文件夹的音乐,六个面对应六个不同文件夹sd音乐,而且文件夹里面的音乐是可以换的,我知道单独设置一
    发表于 08-12 22:09

    六个子目录的作用

    到的不同文件。建立CMSIS、Library、Listing、Output、Project、User六个子目录,如下图所示。下面来讲一下这六个子目录的作用。C
    发表于 08-04 06:51

    三相吹风机六个引出端子接线方法电路图

    三相吹风机六个引出端子接线方法电路图
    发表于 12-02 21:52 4296次阅读
    三相吹风机<b class='flag-5'>六个</b>引出端子接线<b class='flag-5'>方法</b>电路图

    六个电视游戏电路

    六个电视游戏电路
    发表于 01-17 22:52 766次阅读
    <b class='flag-5'>六个</b>电视游戏电路

    六个有关RoHS的检测方法标准

    国家质量监督检验检疫总局最近颁布了六个有关RoHS的检测方法标准,这六个标准是: 1. 《电子电气产品中
    发表于 08-12 09:04 1302次阅读

    六个数码管轮流显示数字

    六个数码管轮流显示数字。
    发表于 05-11 14:33 4次下载

    PCB设计的六个检查阶段

    为了保证PCB设计的准确性,整个PCB设计过程中需要进行多次检查,接下来为大家介绍PCB设计的六个检查阶段。
    的头像 发表于 05-15 15:51 3647次阅读

    PROTEL DXP的六个实验指导教程

    本文档的主要内容详细介绍的是PROTEL DXP的六个实验指导教程包括了:实验一 初步使用Protel DXP 系统,实验二 绘制A/D转换电路原理图,实验三 音乐闪光灯电路设计——新建元件库,实验
    发表于 10-29 15:19 11次下载
    PROTEL DXP的<b class='flag-5'>六个</b>实验指导教程

    汽车电源设计的六个基本原则

    电子发烧友网站提供《汽车电源设计的六个基本原则.doc》资料免费下载
    发表于 11-13 14:44 0次下载
    汽车电源设计的<b class='flag-5'>六个</b>基本原则

    decimal和number的区别

    的数据类型。Number数据类型可以包括整数、浮点数、复数等等。在不同的编程语言和环境中,Number的实现方式和支持的操作可能会有所不同。 Decimal是Number的一具体实现
    的头像 发表于 11-30 10:47 3103次阅读