1.什么是递归?
递归就是在运行的过程中调用自己
2.构成递归需要的条件?
子问题要和原始问题相同,且更为简单
不能无限制的调用自己,需要有个出口
3.如何设计递归算法?
确定递归公式
确定边界也就是结束条件
4.快速排序的思想是:先从数据序列中选一个元素,并将序列中所有比该元素小的元素都放到它的右边或左边,再对左右两边分别用同样的方法处之直到每一个待处理的序列的长度为1,处理结束.
举一个最简单的递归例子
求1+2+……n的和
public int sumByDiGui(int n){
if(n>1){//边界,只要n>1,就要用n加上1到n-1的和
return n+sumByDiGui(n-1);
}else{
return 1;//边界,结束条件 n=1时
}
}