递归


递归

一个函数可以调用另一个提前定义或声明的函数。

如果函数中出现了调用自身,这种函数我们称之为递归函数。

前置知识

主函数:int main()

系统定义好的函数:sqrt(), min(), max()……

自定义函数:给出n,返回n!的值……

什么时候能用递归?

1. 能否把问题划分为若干个子问题;

2. 能否以同样的方式分别去处理各个子问题;

3. 怎样把各个子问题的处理结果汇总,形成最终的处理结果。

条件

(1)有反复执行的过程(调用自身)

(2)有跳出反复执行过程的条件(递归出口)

步骤

描述递归关系

确定递归出口

写递归函数