斐波那契数列递归与非递归算法

来源:互联网 发布:手机卫星定位软件 编辑:程序博客网 时间:2024/04/28 14:28
  1. 递归算法
  2. public class Fibonacci {   
  3.   
  4.     //时间复杂度为2的n次方    
  5.     public static int fibo1(int n) {   
  6.         if (n == 1) {   
  7.             return 1;   
  8.         }   
  9.         if (n == 2) {   
  10.             return 2;   
  11.         }   
  12.         return fibo1(n - 1) + fibo1(n - 2);   
  13.     }   
  14.   
  15. 非递归算法
  16. public class Fibonacci {
  17.     public static int fibo2(int n) {
  18.         if(n==1 || n==2) {
  19.             return n;
  20.         }
  21.         int f1=1, f2=1, sum=0;
  22.         for(int i=2; i<=n; ++i) {
  23.             sum = f1 + f2;
  24.             f1 = f2;
  25.             f2 = sum;
  26.         }
  27.         return sum;
  28.     }
原创粉丝点击