-------android培训、java培训、期待与您交流! ----------
递归
什么是递归:
一个函数自己直接或间接调用自己(一个函数调用另外 一个函数和他调用自己是一模一样的,都是那三步, 只不过在人看来有点诡异。
递归满足的三个条件:
- 递归必须得有一个明确的终止条件
- 该函数处理的数据规模必须在递减
- 这个转化必须是可解的。
循环和递归:
理论上循环能解决的,肯定可以转化为递归,但是这个
过程是复杂的数学转化过程,递归能解决不一定能转化
为循环
递归:
循环:
- 易于理解
- 速度慢
- 存储空间大
- 不易于理解
- 速度快
- 存储空间小
递归的操作步骤:
调用前
一个函数的运行期间调用另一个函数时,在运行被调用函数之前,系统需要完成3件事情
递归函数的特点
总结:所有递归函数的结构都是类似的。
- 函数要直接或间接调用自身。
- 要有递归终止条件检查,即递归终止的条件被满足后,则不再调用自身函数。
- 如果不满足递归终止的条件,则调用涉及递归调用的表达式。在调用函数自身时,有关终止条件的参数要发生变化,而且需向递归终止的方向变化。