递归,也就是程序调用自身的一种编程技巧。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。
递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。
构成递归的条件:
1. 子问题须与原始问题为同样的事,且更为简单;
2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。
来个小栗子,也就是那个经典的兔子问题咯~
好久之前的小东西了,先找找:- public static void main(String args[]){
- int i = 0 ;
- for(i=1;i<=10;i++)
- System.out.println(test(i));
- }
- public static int test(int x)
- {
- if(x==1 || x==2)
- return 1;
- else
- return test(x-1)+test(x-2);
- }
复制代码
|
|