蒙娜丽莎之美——递归

递归是一种重要的算法思想,其实现的“简洁性”通常会让人赞美,但不加修饰的递归通常会带来栈空间的爆炸。然而,这并不阻挡人们对递归的探索。

这位作者给出了递归一些典型的案例:https://mp.weixin.qq.com/s/mJ_jZZoak7uhItNgnfmZvQ

这里面讲到了递归的三要素,以及递归的改进,让人折服。

最后,我仅仅想总结一下对于个人对于递归的一些浅显的认识:什么样的问题可以递归?

往往别人对于一个问题,可以想出递归,为何我们想不出来呢?因为我们没有认识问题的本质,而对于递归的问题,则由两个共性,这两点是十分重要的:

   1.  凡是问题规模可以缩小,但问题本身并没与变化的问题,均可采用递归(例如阶乘,例如求和,例如斐波那契数列....都有这样的特性)

   2. 凡是用递归可以解决的问题,一定存在其他办法,比如 递推。(原因在于递归是一种有规律的自上而下的结构,这种结构一定存在某种数学解析与之对应,或者存在一种自下而上的方式与之对应)

 

posted @ 2019-06-10 21:21  少年π  阅读(248)  评论(0编辑  收藏  举报