递归 => 问题分解 + 终止条件

递归优缺点:
优点:递归代码的表达力很强,写起来非常简洁;
缺点:空间复杂度高、有堆栈溢出的风险(可以通过限制递归深度来解决)、存在重复计算(可通过缓存中间值解决)、过多的函数调用会耗时较多等问题

总结:学会使用递归的思维将问题的求解自动化,在考虑性能的情况下将递归改为循环
展开
评论