文章目录

  • java代码
  • 单元测试

java代码

package csdn.dreamzuora.recursion;/*** Title: 斐波那契额* Description:*斐波那契数列:0、1、1、2、3、5、8、13、21、34、55.....* f[n] = f[n-2] + f[n-1]* 优点:代码简单* 缺点:占用空间较大、如果递归太深,可能会发生栈溢出、可能会有重复计算 通过备忘录或递归的方式* 去优化(动态规划)* 时间复杂度:2的n次方* @version 1.0* @author: weijie* @date: 2020/10/16 11:53*/
public class Fibonacci {int[] a;int init = 2;public Fibonacci(int capacity) {a = new int[capacity];a[0] = 0;a[1] =1;}/*** 递归函数:入口 出口* @param n* @return*/public int f(int n){if (n < init){return a[n];}return f(n-2) + f(n - 1);}}

单元测试

package csdn.dreamzuora.recursion;import org.junit.Test;
import org.junit.jupiter.api.Assertions;import static org.junit.Assert.*;/*** Title:* Description:** @version 1.0* @author: weijie* @date: 2020/10/16 12:01*/
public class FibonacciTest {Fibonacci fibonacci = new Fibonacci(100);@Testpublic void f() {//2 1Assertions.assertEquals(1, fibonacci.f(2));// 3 2Assertions.assertEquals(2, fibonacci.f(3));// 4 3Assertions.assertEquals(3, fibonacci.f(4));//10 55Assertions.assertEquals(55, fibonacci.f(10));}
}

递归学习 斐波那契 java代码实现相关推荐

  1. 【编程实践】Linux Shell 编程:使用 循环和递归 实现斐波那契数列代码

    用 Linux Shell 编程语言递归实现斐波那契数列代码:循环和递归 Linux Shell 编程语言是一种强大的工具,它可以轻松地实现程序设计语言中的常见算法. 斐波那契数列 斐波那契数列是一种 ...

  2. Java递归求斐波那契数求猴子吃桃

    递归求斐波那契数 斐波那契数是指前两位是1,后面的数依次是其前两位的和.即1,1,2,3,5,8-给你一个 n,求其值是多少 public class recursionExercise01{//定义 ...

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

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

  4. 递归实现斐波那契数列

    关于递归求斐波那契数列 首先明白斐波那契数列的特点 即从第三个数开始,数列中的每一项等于其前两项之和,且其前两项都为1 了解其特征后,选择合适的算法解决 这里采用的是经典的递归算法 什么是递归算法? ...

  5. C语言用递归求斐波那契数,让你发现递归的缺陷和效率瓶颈

    C语言用递归求斐波那契数,让你发现递归的缺陷和效率瓶颈 分享到: QQ空间 新浪微博 腾讯微博 豆瓣 人人网 递归是一种强有力的技巧,但和其他技巧一样,它也可能被误用. 一般需要递归解决的问题有两个特 ...

  6. python中使用递归实现斐波那契数列

    python中使用递归实现斐波那契数列 python中使用递归实现斐波那契数列 先来了解一下 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家莱昂纳多·斐波那契(Leo ...

  7. 【2023王道数据结构】【绪论】思维拓展-通过C++递归与非递归实现斐波那契数列C、C++完整实现(可直接运行)

    ~~~笔锋至此又怎能平淡而终,故事开始便不承认普通✌✌✌ ✌ 题目及题解持续更新中 [2023王道数据结构目录]课后算法设计题C.C++代码实现完整版大全 题目: 通过C++递归与非递归实现斐波那契数 ...

  8. C语言以递归求斐波那契数列(附完整源码)

    递归求斐波那契数列 递归求斐波那契数列完整源码(定义,实现,main函数测试) 递归求斐波那契数列完整源码(定义,实现,main函数测试) #include <locale.h> #inc ...

  9. 使用递归解决斐波那契数列的性能问题

    使用递归解决斐波那契数列的性能问题 参考文章: (1)使用递归解决斐波那契数列的性能问题 (2)https://www.cnblogs.com/mlw1814011067/p/9439651.html ...

最新文章

  1. 多选框实现单选效果,并且把中文值赋值到特定输入框
  2. 特征值 模拟 第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛
  3. alexnet 论文翻译
  4. UVA 494(Kindergarten Counting Game)
  5. opencv30-图像矩
  6. LINQ查询表达式详解(2)——查询表达式的转换
  7. 使用sama5d4硬件解码器
  8. Electron 使用Widevine CDM插件
  9. 新能源汽车整车控制器开发
  10. 百度云下载的压缩吧损坏问题解决
  11. Android 集成google地图 准备工作
  12. 安装分区助手,总是显示“分区助手已安装到你的电脑中,怎么办
  13. bmp文件c语言压缩算法,BMP文件数据压缩与解压缩方法.pdf
  14. 支付宝 收款通知 mysql_基于支付宝微信通知的一种个人收款回调方案(转)
  15. Linux常用命令操作详解
  16. 【腾讯云】Ubuntu16.04下搭建Java开发环境一站式服务(WinSCP、PuTTY、JDK、MySQL、Tomcat)
  17. 一分钟让你了解什么是ELP
  18. 【转】Photoshop保存格式介绍大全
  19. 动态规划DP 之 抢劫得到最多的财务(只是针对题,别无他意)
  20. c语言如何实现多线程VC,vc多线程(c++多线程)

热门文章

  1. [设计模式] ------ 策略模式实战:java中替代if-else的大段逻辑
  2. java8新特性(2)--- 方法引用
  3. CoreAnimation编程指南(七)图层Action
  4. 2012 夏季高校微软俱乐部活动 - 开门创新
  5. slim 搭建rnn_使用Keras搭建cnn+rnn, BRNN,DRNN等模型
  6. 浙江嘉兴计算机学校排名,嘉兴计算机考研线上课程实力排名
  7. java 调用jira_java调用jira接口
  8. 鼠标图标怎么自定义_酷鱼魔鼠——给鼠标添加酷炫的特效
  9. Java的多线程以及内存模型的知识点梳理,有想到过这些吗?
  10. python 字符串格式化语法_Python基础语法--字符串格式化