栈与队列->栈的作用

本文探讨了栈在程序设计中的重要应用——实现递归,通过斐波那契数列的例子解释了递归的工作原理。递归定义中必须包含递归结束条件以防止无限递归。同时,阐述了递归与栈的关系,栈在递归过程中的作用类似于存储和恢复调用状态。最后,提到了栈在处理四则运算表达式(如逆波兰式)中的应用。
摘要由CSDN通过智能技术生成

栈的引用简化了程序设计的问题,划分了不同的关注层次,使得思考范围缩小,更加聚焦于我们要解决问题的核心。

而数组等,要分散精力去思考数组的下标增减等细节问题,从而掩盖了问题的本质。


栈的应用 -- 递归

栈的重要应用就是在程序设计语言中实现了递归。

经典的递归例子: 斐波那契数列。


Eg: 如果说兔子出生两个月后便有繁殖能力,一对兔子每月能出生一对兔子,假如所有的兔子都不死,那一年后可以繁殖多少对兔子?


分析:我们拿新生的一对兔子从头分析:第一个月,兔子没有繁殖能力,所以还是一对;两个月后,生下一对兔子,共两对;三个月后,老兔子又生下一对,小兔子没有生育能力没有繁殖,则共有三对。。。 以此类推,可列出下表:

月数 1 2 3 4 5 6 7 8 9 10 11 12
兔子对数 1 1 2 3 5 8 13 21 34 55 89 144

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值