递归函数通过「栈」记录了我们在解决问题当中的一些信息,以方便我们简化逻辑,是「空间换时间」思想的体现。
要想深刻理解递归离不开大量的练习,我们在这里为大家准备了一些非常经典的使用递归实现的问题,但是我们还要提醒大家:递归只是手段。背后更深刻的「分而治之」的算法思想。因此,大家在做练习的时候一定要多思考当前要解决的问题,为什么可以用递归来解决,而不是仅仅只看它的表面。
另外,「递归」和「栈」「深度优先遍历」「分而治之」密不可分,这也是我们在本专题的一开始就和大家提及的事情,大家做完这些问题以后可以再回过头来想想是不是这么回事。
大家还可以自己找一些「深度优先遍历」「回溯算法」「分治算法」标签的问题做一下,重点掌握解决这些问题,我们所 设计的递归函数的语义。
说明:「10. 正则表达式匹配」的经典做法有「动态规划」和「递归」,大家均可以尝试完成。
阅读量:1356
点赞量:0
收藏量:0