C++ 迭代与递归 浅析
2015-07-24 10:06
281 查看
【什么是递归】
递归即函数自身重复调用。
使用递归要注意的有两点:
1)递归就是在过程或函数里面调用自身;
2)在使用递归时,必须有一个明确的递归结束条件,称为递归出口。
递归分为两个阶段:
1)递推:把复杂的问题的求解推到比原问题简单一些的问题的求解;
2)回归:当获得最简单的情况后,逐步返回,依次得到复杂的解。
【什么是迭代】
利用变量的原值推算出变量的一个新值。如果递归是自己调用自己的话,迭代就是A不停的调用B。
【递归与迭代的区别】
递归及函数调用本身;迭代即循环,循环体中存在自变。
【代码解析】
这里的迭代,即 funB 不断的循环调用 s ,使得 s 自变;
递归即函数自身重复调用。
使用递归要注意的有两点:
1)递归就是在过程或函数里面调用自身;
2)在使用递归时,必须有一个明确的递归结束条件,称为递归出口。
递归分为两个阶段:
1)递推:把复杂的问题的求解推到比原问题简单一些的问题的求解;
2)回归:当获得最简单的情况后,逐步返回,依次得到复杂的解。
【什么是迭代】
利用变量的原值推算出变量的一个新值。如果递归是自己调用自己的话,迭代就是A不停的调用B。
【递归与迭代的区别】
递归及函数调用本身;迭代即循环,循环体中存在自变。
【代码解析】
//这是递归 int funcA(int n) { if(n > 1) return n+funcA(n-1); else return 1; } //这是迭代 int funcB(int n) { int i,s=0; for(i=1;i<n;i++) s+=i; return s; }这里递归,即 funA 自身调用;
这里的迭代,即 funB 不断的循环调用 s ,使得 s 自变;
相关文章推荐
- c++map容器介绍
- 井字棋C++控制台( ̄~ ̄) 嚼!
- c++ 语法
- C++ STL区间前闭后开的好处
- int与char数组及string转换
- 井字棋C语言控制台版(新手向<( ̄ˇ ̄)/)
- C语言预编译的作用解析
- C++中的类型转换
- C++对象模型3--无重写的单继承
- 1.C++面向对象程序设计
- 普通的年轻状态机,纯C语言
- C++实现道格拉斯-普克法压缩矢量数据
- C语言堆栈入门——堆和栈的区别
- c语言中volatile关键字的含义
- char, signed char, and unsigned char in C++
- Effective C++ 学习记录
- 用C语言操作MySQL数据库的通用方法
- C++ map 的基本操作和使用
- C语言(2)--牛顿迭代法、舍罕王的赏赐、解两个不等式、枚举类型变量输出三原色全排列
- C++面向对象编程(五)之 运算符重载