Fork me on GitHub

算法入门07

递归

1、去的过程叫「递」,回来的过程叫「归」。

2、基本上,所有的递归问题都可以用递推公式来表示。

3、递归需要满足三个条件

  1. 一个问题的解可以分解为几个子问题的解
  2. 这个问题与分解之后的子问题,除了数据规模不同,求解思路完全一样
  3. 存在递归终止条件

4、写递归代码最关键的是写出递推公式,找到终止条件,剩下将递推公式转化为代码就很简单了。写递归代码的关键就是找到如何将大问题分解为小问题的规律,并且基于此写出递推公式,然后再推敲终止条件,最后将递推公式和终止条件翻译成代码。

5、对于递归代码,试图想清楚整个递和归过程的做法,实际上是进入了一个思维误区。编写递归代码的关键是,只要遇到递归,我们就把它抽象成一个递推公式,不用想一层层的调用关系,不要试图用人脑去分解递归的每个步骤。

6、递归代码要警惕重复计算

-------------本文结束感谢您的阅读-------------

本文标题:算法入门07

文章作者:Yan ChongSheng

发布时间:2018年11月30日

最后更新:2018年12月03日

原始链接:yanchongsheng.github.io/2018/11/30/Algorithm-2018-11-30-算法入门07/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

开启打赏模式