-
递归算法有四个特性:
1. 必须有可达到的终止条件,否则程序陷入死循环;
2. 子问题在规模上比原问题小;
3. 子问题可通过再次递归调用求解;
4. 子问题的解应能组合成整个问题的解。 -
编程实现斐波那契数列求值 f(n)=f(n-1)+f(n-2)
public static int Fibonacci(int n){
if(n==1 || n==2) return 1;
return Fibonacci(n-1)+Fibonacci(n-2);
}
- 编程实现求阶乘 n!
public static long getNFactorial(int n){
if(n==0){
return 1l;
}
return n*getNFactorial1(n-1);
}
- 编程实现一组数据集合的全排列