java基础递归算法复习

来源:互联网 发布:淘宝店主实拍泳装 编辑:程序博客网 时间:2024/06/06 10:01

含义:程序调用自身的编程技巧叫做递归。

递归的三个条件:

  1. 边界条件
  2. 递归前进段
  3. 递归返回段
递归返回方式:后进先出

示例1:使用Java代码求5的阶乘。(5的阶乘=5*4*3*2*1)

/**
 * 计算5的阶乘(result = 5*4*3*2*1)
 * @author Champion.Wong
 * 
 *
 */
public class Test01 {
public static void main(String[] args) {
System.out.println(f(5));
}

public static int f(int n) {
if (1 == n) 
return 1;
else 
return n*(n-1);
}
}

示例2:使用Java代码求数列:1,1,2,3,5,8......第40位的数

/**
 * 求数列:1,1,2,3,5,8......第40位的数
 * @author Champion.Wong
 * 
 */
public class Test_02_Fibonacci {
public static void main(String[] args) {
System.out.println(f(6));
}

public static int f(int n ) {
if (1== n || 2 == n) 
return 1;
else
return f(n-1) + f(n-2);
}
}