递归的本质算法设计与分析
递归的思路其实挺常用的,尤其你在刷题或者做算法题时,总绕不开它。“定义是递归的”这篇文章讲得蛮系统,从概念到代码,层层剖析,逻辑挺清楚的。嗯,是那段关于“递归出口”和“递归关系”的,蛮适合刚上手的同学。
算法设计的重点之一就是“怎么拆问题”,这篇就围绕这个展开。它提到“把复杂问题一层层拆成小问题”,你一看就懂。像int r(int a)
这样的递归函数,也给了结构示例,代码清楚易懂。
另外它还整理了一些挺实用的延伸文章。比如 分治法的适用条件,适合你理解递归和分治之间的关系;又比如 基础算法之递归探究,讲得更细,还贴了不少例子。
如果你正好在啃二叉树、目录遍历或者递归排列这种题型,顺着这篇文章里的链接看看,基本能打通。哦对,LeetCode 递归题集合也在里面,挺方便的。
建议你看完这篇,再动手写几遍代码,试试自己能不能把问题拆干净、逻辑理顺。如果你用Python、PHP或者JavaScript,文中还有相关语言的递归实现,挺贴心的。
3.47MB
文件大小:
评论区