方法递归的形式和特点

什么是递归

方法直接或者间接调用自己

递归的形式

直接递归:方法自己调用自己
间接递归:方法调用其他方法,其他方法调用自己

  1. public void a(){
  2. System.out.println("s");
  3. a();
  4. }

递归的缺点

可能会出现无限循环,出现栈内存溢出

递归的算法流程、核心要素

递归解决问题的思路

把复杂的问题层层转化成一个与原问题相似的规模较小的问题

递归三要素(规律化递归)

递归公式:
f(n)=f(n-1)*n 把复杂的问题层层转化成一个与原问题相似的规模较小的问题
递归的终结点f(1) 必须要有终结点否则会进入死循环
递归的方向必须走向终结点

递归的内存原理

image.png

非规律化递归

规律化递归可以写出数学公式,非规律化递归需要自己写出相应的规则

文件搜索

请在c盘中找到某个文件并输出它的绝对路径