001-递归

递归


一个函数直接或间接调用自己本身,这种函数叫递归函数。


--------------------------------


递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解



递归算法解决问题的特点:

--------------------------------
(1) 递归就是在过程或函数里调用自身。

(2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。

(3) 递归算法解题通常显得很简洁,但递归算法解题的运行效率较低。一般不提倡用递归算法设计程序。

(4) 在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。



递归示意图

--------------------------




递归实例解释

-------------------------------------

如上图解释:

 假设你在一个楼层,但是你不知道你在哪层,于是你想下问下一层是几层,但是下一层的也不知道自己住的是几层,于是再想下询问,知道最下面的一层回答为1层之后,依次向上每次递加1.最后你就等到你自己的下面一层的层数,再加1就是你自己的层数。

递归过程中,你只需要在递归回来后,直接调用递归回来的结果进行累计(处理)即可。






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值