Skip to content

Latest commit

 

History

History

Recursion

To Iterate is Human, to Recurse, Divine.

人理解迭代,神理解递归。下面我们来体验一下做神的感觉!

递归的思想

一般来讲,能用递归来解决的问题必须满足两个条件:

  1. 可以通过递归调用来缩小问题规模,且新问题与原问题有着相同的形式。
  2. 存在一种简单情境,可以使递归在简单情境下退出。

可以这样理解,递归就是有去(递去)有回(归来)。

递归思考诀窍

分析递归问题的关键点:

  1. 设计递归体的目标,即递归到底求的是什么。
  2. 划分问题,对子问题调用递归函数求出结果,然后利用这个结果求原问题的解(即如何利用递归的结果)
  3. 考虑清楚递归退出的边界条件。(即何时退出递归过程)

参考
人脑理解递归
漫谈递归:递归的思想