递归

  • A+
所属分类:算法与数据结构

递归

使用条件:

  1. 一个问题可以分解成几个子问题。何为子问题?只是数据规模较小的问题。
  2. 问题与子问题只是数据规模不同,求解思路完全一样。
  3. 存在终止条件

如何编写递归代码

假设问题A可以分解成子问题B C D。我们可以假设子问题B C D已经解决,只要处理好当前问题A和BCD两层的关系就好,即写出递推公式,不用一层层向下思考子问题与子子问题的关系,最后推敲终止条件。

递归的缺点

栈溢出问题,可以用限制最大递归层数解决。

重复计算问题,可以用散列表来存储已经计算的结果。

LTXU
  • 版权声明:本站原创文章,于2019年5月25日10:51:32,由 发表,共 219 字。
  • 转载请注明:递归 | AICSDN

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: