5-10课:构造递归函数,顺便说说动态规划

56 篇文章 6 订阅 ¥69.90 ¥99.00

计算机领域的递归

递归和分治

计算机领域中的递归是一种解决问题的方法,这种解法依赖于其要解决的问题实例更少的情况下的解法。

递归是计算机科学的中心思想之一。

前面我们讲过一种算法策略:分治。分治策略通常用数学归纳法来验证,其计算多数通过求解递归关系式来判定。

因此,在算法实现层面,很多分治策略的算法,是采用递归的方式实现的。

分治策略、算法和递归的关系如下:

  • 分治策略是一种算法策略——很多种算法指导思想的统称;

  • 某一种分治算法是一种采用了分治策略的算法;

  • 而递归方法是某些分治算法的一种常用实现方式。

递归函数

在计算机编程中,最能够直接体现递归这一概念的,就是递归函数。

什么是递归函数呢?简单说,就是那种:自己调用自己的函数

我们知道任何编程语言编写的函数都有定义和调用两个部分:

  • 定义包含函数的全部四要素:函数名、参数、返回值和函数体。

    其中函数体就是函数的流程逻辑,描述了函数将输入数据处理为输出数据的过程。

  • 函数调用则是对函数的使用。

这些我们前面反复讲过了。

所谓“自己调用自己”,就是在某函数的函数体中,有一个步骤是对它自身的调用——是不是很像贪吃蛇的自己吃自己?

最简单的递归函数

让我们一起来写一个最简单的自己调用自己的递归函数。

无论怎么简单,函数名都不能少,我们这个最简递归函数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶锦鲤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值