算法图解-终极版-递归-从前有座山

本文深入探讨了递归的工作原理,强调其在内存中的重用特点和数量限制。通过阶乘的例子详细解释了递归的执行过程,并展示了如何应用递归求解阶乘问题。同时提到了递归在解决字符串反转问题时必须包含终止条件。递归算法虽然直观且代码简洁,但需要创造性地思考才能快速应用。文中还提及了递归在解决复杂问题如汉诺塔和N皇后问题中的优势。
摘要由CSDN通过智能技术生成
  1. 递归
    在这里插入图片描述
    到底递归是如何执行的, 首先递归用到的是有限的存储空间, 在ram上存储, 另外, 递归,是对内存空间的重读使用, 图解只是为了方面理解, 但递归是有数量限制的, 不能像迭代那样, 可以无限多的迭代下去。
    那么如何递归呢:
    在这里插入图片描述
    如果求F(5)的阶乘, 具体如上图。F(1) = 1, 返回到subvalue = 1, returnValue = 2 * f(1) = 2, 在继续, 直到求出结果。
  2. 应用求阶乘
def fact(n):
    if n <=1:
        return 1
    else:
        sub = fact(n -<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值