数据结构(十四):递归

递归的概念:自己调用自己,每次调用时传入不同变量,让代码变简洁。

递归调用规则:

1.当程序执行到一个方法时,就会开辟一个独立的空间(栈)

2.局部变量相互独立,不会相互影响

3.递归必须设置退出条件(收敛)

4.执行完毕,返回

 

打印问题

test(4)

public static void test(int n){

if(n>2){

        test(n-1);

}

system.out.println("n"+n)

}

输出:n=2

           n=3

           n=4

阶乘问题:

public static int factorial(int n){

      if (n==1){

      return 1;

     }

     else{

     return factorial (n-1*n);

}

}

递归解决的问题

1.数学问题:8皇后、汉诺塔、迷宫

2.算法问题:快排,归并排序,二分查找、分治算法

3.用栈解决的问题使用递归更简洁

 

 

 

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页