递归算法原理及应用

一.递归简介

1.递归的定义:函数内部调用的自身函数的编程技巧称为递归(recursion)。

2.构成递归的条件:

(1). 子问题须与原始问题为同样的事,且更为简单;
(2). 不能无限制地调用本身,须有个出口,化简为非递归状况处理。

二.递归的简单示例

结运行果为:

结果为:120

这里递归调用的过程为:

递归调用 其实就是函数的调用而已,只不过这些函数均是自身罢了,记住一点:谁调用,返回谁。上面的递归调用中,刚开始一直“往下走”,知道走到了num==0,返回1,这是fun(0)函数的值,但调用fun(0)函数的是fun(1)函数,所以fun(0)函数的值1就返回给了fun(1)函数(谁调用,返回谁),同理一直返回到fun(5)函数,由于fun(5)函数在主函数中调用,所以返回给主函数一个值,这个值就是5!,这里只要把我上面画的图看懂了,就差不多理解了。

三.递归的基本原理

1.每一级的函数调用都有自己的变量。

2.每一次函数调用都会有一次

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值