- 递归是一种常见的算法思路,在很多算法中都会用到。比如:深度优先搜索(DFS:Depth First Search)等。
- 递归的基本思想就是“自己调用自己”。
递归结构包括两个部分:
- 定义递归头。 解决:什么时候不调用自身方法。如果没有头,将陷入死循环,也就是递归的结束条件。
- 递归体。 解决:什么时候需要调用自身方法。
import java.util.Scanner;//递归结构public class RecursionTest {public static int factorial(int n){if(n==1){return 1;}else{return n*factorial(n-1);}}public static void main(String[] args) {long d1 = System.currentTimeMillis();Scanner scanner=new Scanner(System.in);System.out.println("请输入一个整数以求它的阶乘:");int n=scanner.nextInt();long d2 = System.currentTimeMillis();System.out.println("它的阶乘值为:"+factorial(n));System.out.println("总耗时为:"+(d2-d1));}}
