递归从入门到进阶

249 阅读2分钟

本号写了不少递归的文章,颇受好评,简单地总结一下吧

一文学会递归解题 这篇是本号的成名作了,共被各大号转载近 20 次(强烈推荐哦),主要讲解了递归的思想及递归的通用解题思路,以便让大家对递归有一个全新的认识,我们在解递归的时候,一定要抓住递归的特征:问题可以层层分解成具有相同解决思路的子问题,子子问题,直到最后被分解的子问题无法再分解(即可求解)。

在解递归的时候分析问题多采用从自上而下的分析方式,即问题要解决,只要底下的子问题解决完了即可,切勿将问题层层展开,这是典型的递归陷阱。

另外需要注意的一点是解完递归之后一定要求解问题的时间/空间复杂度,因为递归的时间复杂度很容易成指数增长,这样就很容易造成栈溢出,这也提醒我们如果有多种解决方式,优先选择非递归的解决方式,以避免栈溢出。

一文学会排列组合 这篇是上一文的姐妹篇了,排列组合的递归其实不容易理解,因为在递归的基础上做了一些变形,这也提醒我们在熟悉递归的理论后,为了加深对递归的理解,以便能够应对这些对递归稍加变形的题,我们还是要勤加练习,多找类似的题目练练手。

巧用递归解决矩阵最大序列和问题 这一篇是利用递归解题的进阶篇了,如果大家看完了以上两篇文章,可以挑战一下这道题,以进一步加深对递归的认识

下一篇:【一文学会链表解题】,敬请期待!

如对您有帮助,有劳转发,在看,这对笔者持续输出高质量的文章是一个巨大的动力^_^。