递归简单来说就是自己调用自己,

  递归构造包括两个部分:
  1.定义递归头:什么时候需要调用自身方法,如果没有头,将陷入死循环
  2.递归体:调用自身方法干什么

  递归是自己调用自己的方法,用条件来判断调用什么时候停止!

  斐波那契数列数列的递归实现:  F(n)=F(n-1)+F(n-2)

package test;

public class Test {
public static long fibonacci(int n) {
if(n==0||n==1) return 1;
else {
return fibonacci(n-1)+fibonacci(n-2);
}
}
public static void main(String[] args) {
for(int i=0;i<10;i++) {
long num = fibonacci(i);
System.out.print(num+" ");
} }
}

  斐波那契数列数列的非递归实现:  F(n)=F(n-1)+F(n-2)

package test;

public class Test {
public static long fibonacci2(int n) {
long arr[] = new long[n+1];
arr[0]=0;
arr[1]=1; //n不能为0,因为n为0时,arr大小为1,arr[1]越界。
for(int i=2;i<=n;i++) {
arr[i]=arr[i-1]+arr[i-2];
}
return arr[n];
} public static void main(String[] args) {
for(int i=1;i<10;i++) {
long num = fibonacci2(i);
System.out.print(num+" ");
}
}
}

最新文章

  1. C#开发微信门户及应用(33)--微信现金红包的封装及使用
  2. Cordova Ionic AngularJS
  3. 初次使用IDEA的相关技巧
  4. 延时Led灯
  5. IE11出现“__doPostBack未定义”的解决办法。
  6. ios 图片截取功能 图片拼接功能
  7. 织梦中limit的用法详解(调用指定id下的指定文章)
  8. [r]How To Use Git To Create A Key
  9. springmvc基础学习3---注解简单理解
  10. php按照中文首字母排序
  11. 回顾JS Date()对象
  12. Apache Flink:特性、概念、组件栈、架构及原理分析
  13. 树状数组-逆序对-HDU6318
  14. nodeJs 代码热更新
  15. AtCoder 瞎做
  16. Qt编写自定义控件5-柱状温度计
  17. mysql 临时数据突然变大
  18. C++:__stdcall详解
  19. Ural 2036. Intersect Until You&#39;re Sick of It 计算几何
  20. Sorted sets

热门文章

  1. Cloud
  2. Jmeter性能测试 入门--转载
  3. 互联网部-供应商团队js规范
  4. linux下使用ntfs-3g挂载NTFS出错
  5. SpringBoot应用和PostgreSQL数据库部署到Kubernetes上的一个例子
  6. Smart template的控件能否当成普通控件来用
  7. 动态规划(DP),压缩状态,插入字符构成回文字符串
  8. css实现单行的靠左靠右和居中效果
  9. ASP.NET整体运行机制+asp.net请求管道+页面生命周期+MVC整体运行机制原理图
  10. 【luogu P4114 Qtree1】 题解