递归函数在不同情况的用法
2013-09-29 16:36
218 查看
根据近几天调试一个代码的经验,发现递归函数可分为以下两类:
1.遍历型;
2.指定结束型;
遍历型的一个代表是遍历树,它是访问到所有结点;
指定结束型的一个代表是求解斐波那契,它是到达一个指定条件后层层退出。
对于指定结束型,必须在分支前(如for循环次数就是分支次数),加上判断是否达到指定结束条件的语句,否则,退回时,函数会回到分支处然后执行没被执行的分支,
这样就会改变指定结束标计量(如flag==1中的flag)可能还会改变其它的量,会造成逻辑错误,并且增加运算量。
1.遍历型;
2.指定结束型;
遍历型的一个代表是遍历树,它是访问到所有结点;
指定结束型的一个代表是求解斐波那契,它是到达一个指定条件后层层退出。
对于指定结束型,必须在分支前(如for循环次数就是分支次数),加上判断是否达到指定结束条件的语句,否则,退回时,函数会回到分支处然后执行没被执行的分支,
这样就会改变指定结束标计量(如flag==1中的flag)可能还会改变其它的量,会造成逻辑错误,并且增加运算量。
相关文章推荐
- 关于Render在不同情况的用法
- matlab中“执行字符串”函数eval在不同情况下的用法(二)
- struts2下拉框在不同情况下的各种用法
- MATLAB中nargin函数的用法nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能。通常可以用它来设定一些默认值。如下例所示: 函数文件 examp.m
- value在input标签不同情况有不同的用法
- 关于List和IList的区别和不同情况的不同用法
- 不同类型的变量在内存中存储的详细情况
- c++中的强制转换static_cast、dynamic_cast、reinterpret_cast的不同用法
- 四、广义社会主义各国的不同类型及其变动情况分析
- img srcset,sizes 属性,解决了在不同设备像素比不同的情况加载不同图片(转)
- 不同的情况 301的做法也会有所不同
- const和#define的不同以及 const修饰指针的几种情况
- Flex 的DataGrid列 的字体,根据不同情况 渲染不同颜色
- 查询前几条记录在不同数据库中的用法
- JDK、Spring、Quartz等几种不同定时器的用法,以及cronExpression表达式定义
- 长连接的定义及其优缺点,以及在不同的浏览器中的支持情况
- Fragment在不同情况下的显示和隐藏的控制(在已有缓存,生命周期不走的情况下)
- Java之戳中痛点 - (5)switch语句break不能忘以及default不同位置的用法
- Select Top在不同数据库中的使用用法
- 数组 sizeof不同情况