七、函数的递归
00 分钟
2023-8-15
2023-8-18
type
status
date
slug
summary
tags
category
icon
password

1、递归概念

递归是指在函数定义中使用函数自身的过程。使用递归可以解决一些问题,尤其是那些可以被分解为较小重复子问题的问题。在递归函数中,函数在每一次调用中都会对自身进行调用,直到达到某个终止条件,然后逐步返回结果。
注意:函数的递归一定要有终止条件,否则会出现死循环,且终止条件必须在最后的return语句之前

2、递归的使用

递归一般用于解决由众多相似的子问题组成的一个完整的问题,且一般是由结果向初始条件推算,也可以理解为从后向前。根据思路列出每个子问题的解法。

2.1、阶乘举例

这里用阶乘举例,我们需要计算10的阶乘,计算过程是1*2*3*4*5*6*7*8*9*10 。而这其中每个子问题就是一个数与前一个数的积。用公式表达出来就是 f(n) * f(n-1)。用代码写出来就是:
此时就已经完成了一个递归函数的书写,但是我们还没有写终止条件,程序会进入死循环。现在分析以下要求,我们要求10的阶乘,阶乘应该进行到1停止,所以我们的终止条件是 n == 1时终止。代码如下:

2.2、小白上楼梯举例

假设有n个台阶,一次只能上一个台阶或者两个台阶,请问走到第n个有多少种走法。
同样的我们分析,每一个只能上一个或两个,我们可以得出走到第n个台阶的方法是前两个走法的和,即 f(n) = f(n-1) + f(n-2) 。终止条件是最后一个或两个台阶时终止。代码如下:
 
上一篇
博客封面生成-记一次修复Bug并新增功能的PR
下一篇
六、函数的声明与定义

评论
Loading...