递归的理解

递归,又被称为“抵回”,在计算机语言中,指在函数的定义中直接或间接的调用函数自身的算法。(案例:老和尚给小和尚讲故事,从前有个山)

斐波那契数列阶乘是典型的递归案例。(兔子问题)

另外一种利于理解递归过程的解释:

判断是否完成?完成的话,就返回结果。如果没有这样的终止条件,递归就一直进行。

举例:编写一个程序使用递归求n的阶乘

 

总之:一个函数可以调用其他函数。但如果这个函数在内部直接或间接的调用它自己,那么这个函数就叫递归函数。

注意: #1在函数的内部调用自己本身 。

             #2递归函数本质是一个方法的循环调用,注意:有可能出现死循环。

             #3一定要明确定义递归的边界(什么时候退出循环),有一个递归的结束条件,称为递归出口。

             #4在递归调用的过程中系统为每一层的返回点,局部量都开辟了栈来存储。递归次数过多容易造成栈溢出,所以一般不提倡用递归算法设计程序。

 

在实际使用中,递归函数由于消耗时间过长,(相比for循环和while循环),所以很少使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
递归是一种在函数定义中调用自身的过程。它包括两个主要过程:递去和回归。递去是函数不断调用自身去解决更小规模的问题,直到达到某个基本情况。回归是在基本情况下,函数开始返回结果,并依次回归到之前的调用处,解决更大规模的问题。通过这种方式,递归能够解决很多问题,并且在某些情况下,比迭代更简洁和直观。 在Python中,递归函数主要由两个部分组成:基本情况和递归调用。基本情况是函数停止递归的条件,通常是一个简单的问题,可以直接返回结果。递归调用是函数在解决更小规模问题后,再次调用自身来解决剩余的问题。 例如,下面是一个简单的递归函数的示例,用于计算一个数的阶乘: ```python def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1) ``` 在这个例子中,当n等于0时,函数返回1作为基本情况。否则,函数调用自身来计算n-1的阶乘,并将结果乘以n,最终返回阶乘结果。 对于理解递归,有几个重要的概念需要注意: 1. 递归函数必须有一个或多个基本情况,以避免进入无限递归的循环。 2. 每次递归调用应该是为了解决一个更小规模的问题。 3. 递归函数应该能够在某个条件下停止递归递归在算法和编程中起着重要的作用,可以用于解决许多问题,如排序、搜索、树的遍历等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值