首页 > 代码库 > 递归简论
递归简论
递归的两个基本法则
1、基准情形。必须总要有某些基准的情形,它们不用递归就能求解。
2、不断推进。递归的调用必须总能朝着一个基准情形推进。
例如:
public static int f(int x){
if(x==0)
return 0; //这两行为基准情形。
else
return 2*f(x-1)+x*x;
}
使用递归打印输出整数(可以用归纳法证明):
public static void printOut(int n){
if(n>=10)
printOut(n/10);
printDigit(n%10); //printDigit(4)将输出4
}
注意:使用mod例程非常耗时,因为n%10=n-(n/10)*10;
递归的其他法则:
3、设计法则。假设递归调用都能运行。(不必追踪具体的递归调用的序列)
4、合成效益法则。再求解一个问题的同一实例时,切勿在不同的递归调用中做重复性工作。
递归简论
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。