斐波那契是第一项为0,第二项为1,以后每一项是前面两项的和的数列。

源码:Fibonacci.java

public class Fibonacci{

private static int times=0;

public static void main(String args[]){

int nums = fibonacci(30);

System.out.println("结果:"+nums);

System.out.println("次数:"+times);

}

static int fibonacci(int n){

times++;

if(n<=1) return 1;

return fibonacci(n-1)+fibonacci(n-2);

}

}

求第三十项的时候。调用了函数2692539次,效率及其低

第二种的优化算法是

利用hashmap记录下每次运算的值,动态规划地输出每次的结果。

第三十项仅仅调用59次。

源码:Hash.java

import java.util.HashMap;

public class Hash{

public static void main(String args[])

{

HashMap m = new HashMap();

int res = Fib(30, m);

System.out.println("结果:"+res);

System.out.println("次数:"+times);

}

private static int times = 0;

public static int Fib(int x,HashMap m)

{ times++;

if (m.containsKey(x))

return (Integer) m.get(x);

else if (x==0 || x==1)      return 1;      int temp=Fib(x-1,m)+(Fib(x-2),m);      m.put(x,temp);      return temp;

}

}

java斐波那契优化_用HashMap优化斐波那契数列 java算法相关推荐

  1. java如何解析cron成可视化_宅家30天,2万字节java高级工程师面试题解析,如何斩获阿里p7...

    宅家里一个月,"闭关修炼"的你是不是正在为金三银四跳槽季发愁呢?小编今天说的这富含的15个互联网大厂Java高级工程师核心面试问题整理!内容包括: kafka面试题及解析18道 Z ...

  2. python实现贝叶斯优化_贝叶斯优化的并行实现

    python实现贝叶斯优化 The concept of 'optimization' is central to data science. We minimize loss by optimizi ...

  3. mysql 优化_常用MySQL优化

    1.大批量插入数据优化 (1)对于MyISAM存储引擎的表,可以使用:DISABLE KEYS 和 ENABLE KEYS 用来打开或者关闭 MyISAM 表非唯一索引的更新. ALTER TABLE ...

  4. 数据量大的sql怎么做优化_搜索引擎关键词优化怎么做

    搜索引擎关键词优化怎么做 新媒体营销的兴起,而且是方兴未艾,因此与客户建立起良好关系,保持良好的口碑关系,让客户信任你,公司适合增值服务:或者利润多,同时能在业务管理.销售管理.人事管理等各个方面有较 ...

  5. 增城seo搜索引擎优化_搜索引擎seo优化主要从哪里入手?

    首先我们应该了解什么是搜索引擎优化以及网站搜索引擎seo优化的价值,从基础开始逐步深入,下面拓王朝所要讲的都是一些理论知识,很好理解,有不同见解欢迎评论. SEO优化 SEO搜索引擎优化,是指通过采用 ...

  6. webpack打包优化_前端性能优化:webpack性能调优与Gzip原理

    链接:https://juejin.im/book/5b936540f265da0a9624b04b 从输入 URL 到显示页面这个过程中,涉及到网络层面的,有三个主要过程: DNS 解析 TCP 连 ...

  7. java 提高性能的 容器库_容器隔离性带来的问题--容器化Java应用比虚机启动速度慢...

    引发的问题 同等配置下,虚机中的java 服务的启动速度,要比容器快很多(将近两倍) 实测数据 在同是1c1g的虚机和容器中,虚机启动时间大概在1min20s,容器启动时间大概在2min40s. 排查 ...

  8. 关于mysql优化_关于MySQL优化的几点总结

    前言 现如今,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.所以,我整理了MySQL优化的几点建议,希望这些优化技巧对您有用,总结不到的,欢迎大家补充. SQL执行慢的原因 ...

  9. python多目标优化_多目标优化算法(四)NSGA3(NSGAIII)论文复现以及matlab和python的代码...

    前言:最近太忙,这个系列已经很久没有更新了,本次就更新一个Deb大神的NSGA2的"升级版"算法NSGA3.因为multi-objective optimization已经被做烂了 ...

最新文章

  1. 加密连接工具Cryptcat
  2. 看了这一篇,就不用看别的——Java中Object关于锁的的三个方法:wait,notify,notifyAll的作用
  3. JavaScript高程第十章:DOM(上)
  4. halcon 3D Object Model 三维物体模型算子,持续更新
  5. 【SDOI2014】数表【莫比乌斯反演】【树状数组】
  6. IDEA中一个工程多个模块(module)分别提交到不同的git服务器
  7. math.hypot java_Java Math hypot()用法及代码示例
  8. Android 学习笔记--android基本
  9. SSM整合(二)(mybatis逆向工程)
  10. linux配置vsftp红帽子,linux红帽子VSFTPD的配置.doc
  11. 数据平滑处理——log1p()和exmp1()
  12. amd一键超频怎么用_AMD Ryzen小白说明书——CPU超频篇
  13. mysql 美东时间格式_C#/.NET怎么样将UTC时间转换成美国东部时间(EST)
  14. 嵌入式Uboot,通过tftp进行内核镜像的加载及flash写入
  15. win10系统编辑服务器在哪个文件夹,文件夹选项在哪里,小编教你Win10文件夹选项在哪...
  16. 程序员在家办公太无聊,推荐你看完这十部电影。收货满满
  17. Optical Flow:Horn-Schunck算法与Lucas-Kanade(LK)算法
  18. sas mysql乱码_SAS 数据步 常见错误汇总之1-上
  19. idea新建java文件类型_如何在IntelliJ IDEA中设置文件类型
  20. jai_imageio-1.1-alpha.jar

热门文章

  1. 使用BP神经网络、RBF神经网络以及PSO优化的RBF神经网络对数据进行预测(Matlab代码实现)
  2. ubuntu卸载软件方法
  3. QUIC浅析,android开发者模式
  4. 树莓派触摸屏连接方法(微雪7寸LCD)
  5. 使用codesense的GJB 8114模板对c++源代码规则检测示例
  6. idea中JD-Intellij插件如何使用以及Luyten的使用
  7. C#里关于委托的使用方法使用delegate、Action、func和Thread声明、锁安全
  8. 【RASA】TED Policy:Dialogue Transformers
  9. linux平台搭建ftp,Linux快速搭建FTP服务器
  10. 【SVM回归预测】布谷鸟搜索算法优化SVM回归预测【含Matlab源码 1525期】