《算法图解》——第三章 递归

本文详细介绍了递归的概念,包括基线条件和递归条件,通过例子展示了调用栈的工作原理,阐述了递归函数如何在内存中存储信息。同时,讨论了递归可能导致的栈溢出问题及其影响。最后,强调了栈的两种基本操作——压入和弹出,并总结了递归的关键点。
摘要由CSDN通过智能技术生成

                                 第三章    递归

1    递归

大佬说:“如果使用循环,程序的性能可能更高;如果使用递归,程序可能更容易理解。如何选择要看什么对你来说更重要。”


2    基线条件和递归条件

每个递归函数都有两部分:基线条件(base case)和递归条件(recursive case)。递归条件指的是函数调用自己,而基线条件则指的是函数不再调用自己,从而避免形成无限循环。

def countdown(i):            #无限循环
    print(i)
    countdown(i-1)

def countdown(i):           
    print(i)    
    if i <= 0:                   #基线条件
        return
    else:                        #递归条件
        countdown(i-1)

  • 8
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值