P7
1.什么是算法
算法是用于解决特性问题的一系列的执行步骤
2.计算0 1 1 2 3 5 8 13 ...
思路:第n项是n-1项加上n-2项,当n小于等于1时,增加退出条件,不然递归死循环
所有有:
public static int fib(int a,int b)
{
if( n<= 1 ) return n;
return fib(n-1) + fib(n-2);
}
但是上面有性能问题,应该做性能优化:
0 1 2 3 4 5 6
0 1 1 2 3 5 8
public static int fib2(int n)
{
if(n <= 1) return n;
int first = 0;
int second = 1;
for(int i = 0 ; i < n-1; i++){
int sum = first + second; //1
first = second; //3
second = sum; //2
}
return second;
}