关于递归
来源:互联网 发布:数据铁笼文献 编辑:程序博客网 时间:2024/05/17 13:41
直接上例子1:
1(直接)、
int calculate(int m) { int count = 0; if(m <0) return -1; for(int index = 0; index <= m; index++) count += index; return count; }
2(优化)、
int calculate(int m) { if(m == 0) return 0; else return calculate(m -1) + m; }
例子2:
f(n)=f(n-1)+f(n-2) f(0)=0 f(1)=1
1、
int func(int n){ int val; if(n==1) val = 0; else if(n==2) val = 1; else val = func(n-1)+func(n-2); return val;}2(优化)、
int func(int n){ int val; if(n==1) return 0; else if(n==2) return 1; else return func(n-1)+func(n-2); }
例子3:
1、
int find(int array[], int length, int value) { <pre name="code" class="cpp">int _find(int index, int array[], int length, int value) { if(index == length) return -1; if(value == array[index]) return index; return _find(index + 1, array, length, value); }2(递归查找)、
int _find(int index, int array[], int length, int value) { if(index == length) return -1; if(value == array[index]) return index; return _find(index + 1, array, length, value); } int find(int array[], int length, int value) { if(NULL == array || length == 0) return -1; return _find(0, array, length, value); }
0 0
- 关于递归
- 关于递归
- 关于递归
- 关于递归
- 关于递归
- 关于递归
- 关于递归
- 关于递归
- 关于递归
- 关于递归
- 关于递归
- 关于递归
- 关于递归
- 关于递归
- 关于递归
- 关于递归
- 关于递归
- 关于尾递归【转】
- Netty 之 TCP粘包拆包基本解决方案
- Swift Bool
- 详细介绍springData
- Lua 中实现 protobuf 序列化,反序列化
- 一些小结
- 关于递归
- How to Tune Performance of Informatica Lookup Transformation
- Android定向广播
- IOS学习-collectionView的自适应宽度和高度,固定列数
- error C2664: “GetModuleFileNameW”: 不能将参数 2 从“char [260]”转换为“LPWSTR”
- Android如何实现图片轮播
- css选择器中:first-child与:first-of-type的区别///CSS3伪类nth-of-type(n)用法详解
- input 只能输入正整数
- 获取某个方法执行的时间