只有用水将心上的雾气淘洗干净,荣光才会照亮最初的梦想。

——加西亚·马尔克斯

最近沉迷于算法,总是想着实现与优化,今天想到了斐波那契数列,原来没咋多想,现在回头再看看能不能输出点新花样?!

什么是斐波那契数列大家都知道,我最开始了解以及实现的时候写的是递归加法实现,如下代码都不陌生:

func recursive(num int) int {if num < 1 {return 0}if num == 1 || num == 2 {return 1}return recursive(num-1) + recursive(num-2)
}

思路分析:传入一个数,它是自顶向下开始算的,比如传入40,它会先得出第40-1和第40-2,即第29和第28这两个数, 随着传入到函数recursive的值逐渐减少,直到减少到1或2时才真正的到计算的终点。整个过程实际上是个二叉树。

过程分析:以传入5为例:因为5!=1因此进行递归,开始计算第4和第3这两个数,即在代码

算法优化:探索斐波那契数列的新航线相关推荐

  1. 算法 | 详解斐波那契数列问题

    14天阅读挑战赛 本篇是学习了<趣学算法(第2版)> 第一章之后总结的. 上一篇讲到了等比数列求和问题,求Sn=1+2+22+23+...+263=?S_n = 1 + 2 + 2^2 + ...

  2. 算法之矩阵计算斐波那契数列

    算法之矩阵计算斐波那契数列 本节内容 斐波那契介绍 普通方式求解斐波那契 矩阵概念 矩阵求幂 矩阵求解斐波那契 1.斐波那契介绍 斐波那契数列有关十分明显的特点,那是:前面相邻两项之和,构成了后一项. ...

  3. 【js算法】js斐波那契数列的多种算法

    斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列" ...

  4. 【使用递归玩通关汉诺塔游戏】算法01-递归(斐波那契数列、汉罗塔问题)-java实现

    递归 定义:在一个方法(函数)的内部调用该方法(函数)本身的编程方式 简而言之就是 "自己调自己" 在玩游戏之前让我们先对递归有一个简单的了解吧! 5.1 递归简介 递归必须有一个 ...

  5. 【算法编程】斐波那契数列

    题目来源:牛客网剑指offer 题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项.n<=39 C++:5ms 476k #include <iostr ...

  6. 递归、尾递归、迭代算法【在 斐波拉契数列】上的实现

    /*     递归: [逆序]从未知点推到已知点,[顺序]代入已知点结果,从已知点带入并计算到未知点,最终到终点     尾递归: 从起点开始,依顺序计算结果,并无限靠近最终目标点     迭代: 从 ...

  7. 算法—递归生成斐波那契数列

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.递归生成斐波那契数列 二.使用步骤 1.伪代码 2.c 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如 ...

  8. 求解斐波那契数列(Fibonacci Numbers)算法居然有9种,你知道哪几种吗?

    By LongLuo 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为&q ...

  9. c语言减治法求a的n次方算法,拜托,面试别再问我斐波那契数列了!!!

    面试中,问得比较多的几个问题之一,求斐波那契数列f(n)? 画外音:姐妹篇 <拜托,面试别再问我TopK了!!!> <拜托,面试别再让我数1了!!!> 什么是斐波那契数列? 斐 ...

最新文章

  1. mysql 优化详解_MySQL 优化详解
  2. Linux snmp
  3. java 继承 私有变量_java – 继承和私有变量
  4. 利用NLB建立双机负载均衡群集
  5. 资源放送丨《数据模型重构案例分享》PPT视频
  6. 拓扑排序排课系统_木犀互联网技术周刊(第四十五期): 分布式系统简介
  7. LINUX的bash的一些特性
  8. StringUtil.isEmpty(str)、StringUtil.isNotEmpty(str)和StringUtil.isBlank(str)区别
  9. DELMIA软件:机器人与行走轴联动实现长焊缝弧焊焊接虚拟仿真
  10. 李白藏头诗鸿蒙,【表白的诗句藏头诗】表白的诗句60句
  11. 实数截断式保留两位小数
  12. 自定义菜单 微信公众平台开发教程(2)
  13. SQLSERVER 2000 以及SQL Server 2005的版本号
  14. vue3实现主题切换功能
  15. 回路电感详细介绍(环路电感)
  16. [转]React 入门实例教程
  17. 2021华为Android面试真题解析Android面试题集锦,一文轻松搞定
  18. Echarts系列之怎么让文字纵向显示
  19. (43)C#里使用WeifenLuo.WinFormsUI.Docking库时是怎么样保存当前布局?
  20. JZ2440学习笔记一

热门文章

  1. 寸照换底色技巧大全,超详细图文教程
  2. 开源硬件3D打印机资源
  3. bestcoder #77 xiaoxin juju needs help
  4. java 枚举高级应用_java高级编程之枚举
  5. 面试三轮我倒在了一道sql题上——sql性能优化
  6. linux svn 自动更新,Linux(Ubuntu) svn 自动更新设置 hooks(post-commit)
  7. Preparing for Complete Database Recovery
  8. 豆瓣网杨勃:口碑营销这个说法有点矛盾
  9. MATLAB写歌曲(艺术与科学的 MEET)
  10. 微信小程序开发、uni-app开发、腾讯AI、百度AI