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);
}
}