递归
程序调用自身的编程技巧称为递归,递归作为一种算法在程序中广泛应用,把一个大型复杂的问题层层转化成一个个与原问题类型的规模较小的问题来求解
递归只需少量的程序可以完成大量重复的计算,极大的减少代码量,
递归需要边界条件,递归运算,递归返回,当边界条件不满足是,递归前进,边界条件满足,停止递归,递归返回。
例
public int caculate(int a,int b){
int c=a+b;
int d=b++;
if(b=100){
return c;
}else{
return caculate(c,d);
}
}
递归和循环很类似,很多情况下是可以互相转化的,递归过深容易找出堆栈溢出
递归和循环
相同点:都是通过控制一个边界条件去反复执行
不同的:递归注重结果,循环注重过程;递归采用逆向思维,开始条件、结束条件、循环变量不明显