算法优化:探索斐波那契数列的新航线
只有用水将心上的雾气淘洗干净,荣光才会照亮最初的梦想。
——加西亚·马尔克斯
最近沉迷于算法,总是想着实现与优化,今天想到了斐波那契数列,原来没咋多想,现在回头再看看能不能输出点新花样?!
什么是斐波那契数列大家都知道,我最开始了解以及实现的时候写的是递归加法实现,如下代码都不陌生:
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这两个数,即在代码
算法优化:探索斐波那契数列的新航线相关推荐
- 算法 | 详解斐波那契数列问题
14天阅读挑战赛 本篇是学习了<趣学算法(第2版)> 第一章之后总结的. 上一篇讲到了等比数列求和问题,求Sn=1+2+22+23+...+263=?S_n = 1 + 2 + 2^2 + ...
- 算法之矩阵计算斐波那契数列
算法之矩阵计算斐波那契数列 本节内容 斐波那契介绍 普通方式求解斐波那契 矩阵概念 矩阵求幂 矩阵求解斐波那契 1.斐波那契介绍 斐波那契数列有关十分明显的特点,那是:前面相邻两项之和,构成了后一项. ...
- 【js算法】js斐波那契数列的多种算法
斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列" ...
- 【使用递归玩通关汉诺塔游戏】算法01-递归(斐波那契数列、汉罗塔问题)-java实现
递归 定义:在一个方法(函数)的内部调用该方法(函数)本身的编程方式 简而言之就是 "自己调自己" 在玩游戏之前让我们先对递归有一个简单的了解吧! 5.1 递归简介 递归必须有一个 ...
- 【算法编程】斐波那契数列
题目来源:牛客网剑指offer 题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项.n<=39 C++:5ms 476k #include <iostr ...
- 递归、尾递归、迭代算法【在 斐波拉契数列】上的实现
/* 递归: [逆序]从未知点推到已知点,[顺序]代入已知点结果,从已知点带入并计算到未知点,最终到终点 尾递归: 从起点开始,依顺序计算结果,并无限靠近最终目标点 迭代: 从 ...
- 算法—递归生成斐波那契数列
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.递归生成斐波那契数列 二.使用步骤 1.伪代码 2.c 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如 ...
- 求解斐波那契数列(Fibonacci Numbers)算法居然有9种,你知道哪几种吗?
By LongLuo 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为&q ...
- c语言减治法求a的n次方算法,拜托,面试别再问我斐波那契数列了!!!
面试中,问得比较多的几个问题之一,求斐波那契数列f(n)? 画外音:姐妹篇 <拜托,面试别再问我TopK了!!!> <拜托,面试别再让我数1了!!!> 什么是斐波那契数列? 斐 ...
最新文章
- mysql 优化详解_MySQL 优化详解
- Linux snmp
- java 继承 私有变量_java – 继承和私有变量
- 利用NLB建立双机负载均衡群集
- 资源放送丨《数据模型重构案例分享》PPT视频
- 拓扑排序排课系统_木犀互联网技术周刊(第四十五期): 分布式系统简介
- LINUX的bash的一些特性
- StringUtil.isEmpty(str)、StringUtil.isNotEmpty(str)和StringUtil.isBlank(str)区别
- DELMIA软件:机器人与行走轴联动实现长焊缝弧焊焊接虚拟仿真
- 李白藏头诗鸿蒙,【表白的诗句藏头诗】表白的诗句60句
- 实数截断式保留两位小数
- 自定义菜单 微信公众平台开发教程(2)
- SQLSERVER 2000 以及SQL Server 2005的版本号
- vue3实现主题切换功能
- 回路电感详细介绍(环路电感)
- [转]React 入门实例教程
- 2021华为Android面试真题解析Android面试题集锦,一文轻松搞定
- Echarts系列之怎么让文字纵向显示
- (43)C#里使用WeifenLuo.WinFormsUI.Docking库时是怎么样保存当前布局?
- JZ2440学习笔记一
热门文章
- 寸照换底色技巧大全,超详细图文教程
- 开源硬件3D打印机资源
- bestcoder #77 xiaoxin juju needs help
- java 枚举高级应用_java高级编程之枚举
- 面试三轮我倒在了一道sql题上——sql性能优化
- linux svn 自动更新,Linux(Ubuntu) svn 自动更新设置 hooks(post-commit)
- Preparing for Complete Database Recovery
- 豆瓣网杨勃:口碑营销这个说法有点矛盾
- MATLAB写歌曲(艺术与科学的 MEET)
- 微信小程序开发、uni-app开发、腾讯AI、百度AI