递归介绍
递归:就是函数自己调用自己。 子问题须与原始问题为同样的事,或者更为简单;
递归通常可以简单的处理子问题,但是不一定是最好的。
对于递归要分清以下概念:
- 自己调用自己
- 递归通常不在意具体操作,只关心初始条件和上下层的变化关系。
- 递归函数需要有临界停止点,即递归不能无限制的执行下去。通常这个点为必须经过的一个数。
- 递归通常能被其他方案替代(栈、数组正向求)。
认识递归,递归函数通常简易但是对于初学者可能很难取理解它。拿一个递归函数来说。
static void digui(){System.out.println("bigsai前");digui();System.out.println("bigsai后");}
是一个递归吧?
不是正常递归,没有结束条件,自己一致调用自己死循环。
那正确的递归应该这样
static void digui(int time){if(time==0) {}//time==0不执行else {System.out.println("bigsai前time: "+time);digui(time-1);System.out.pr