斐波那契数列
/**
* 斐波那契数列
*/
public static int f(int n){
if(n == 0){
return 0;
}
if (n ==1){
return 1;
}
int x = f(n-1);
int y = f(n -2);
return x+y;
}
斐波那契数列时间复杂度推导过程
/**
* 斐波那契数列 --记忆法
* @param n
* @return
*/
public static void search(int n){
int[] a = new int[n+1];
Arrays.fill(a,-1);
a[0] = 0;
a[1] = 1;
int fn = fn(n, a);
System.out.println(fn);
}
public static int fn(int n,int[] a ){
if(a[n] != -1){
return a[n];
}
int x = fn(n-1,a);
int y = fn(n -2,a);
return x+y;
}