程序员

Java--递归算法

2019-08-06  本文已影响5人  蓝翼Ethan
  • 递归不是循环,是方法的调用
  • 循环是正常执行的,循环是只产生一个方法空间;
  • 递归调用时会产生很多一样的临时空间,消耗内存
  • 能用循环的时候尽量用循环,因为递归内存消耗大

递归示例:盖一个5层的塔

public void buildTower(int floor){   //floor=5,从第五层开始盖
  if(floor!=1){  //当floor!=1时,就往下层找,让下层先盖塔
      this.buildTower(floor-1);  //找人做之前的事情(5层-->4层-->3层-->2层-->1层)
  }
  //floor=1时,开始做事情盖塔
  System.out.println("盖好了第"+floor+"层塔");  //做自己的事情
}

public class Test{
  public static void main(String[] args){
    Test test = new Test();
    test.buildTower(5); 
  }
}
上一篇下一篇

猜你喜欢

热点阅读