目录
递归概念
递归
在定义一个过程或函数时,直接或者间接调用自己的成分,称为(直接/间接)递归。直接递归就不用说了,间接递归如下。
间接递归都可以转化为直接递归,因此一般只研究直接递归。
递归的两个要素
一个递归模型是由递归出口和递归体两部分组成。
递归出口确定了递归到何时结束;递归体确定大小问题的求解情况(递推关系)。
什么时候用递归
1.定义是递归的
许多数学公式、数列的定义是递归的,例如阶乘、Fibonacci数列。
2.数据结构是递归的
比如不带头结点的单链表
3.问题的求解方法是递归的
比如Hanoi问题
递归和尾递归
一般递归
n的阶乘可以表示为:f(n)=n!<