递归:去的过程叫“递”,回来的过程叫“归”
满足条件:
1、一个问题的解可以分解为几个子问题的解
2、这个问题与分解之后的子问题,除了数据规模不同,求解思路一致
3、存在递归终止条件(不能无限循环)
如何写出递归代码
1、基于规律写出递推公式
2、推敲终止条件
3、将递推公式和终止条件翻译成代码
注意事项:
1、警惕堆栈溢出(在代码中使用全局变量保证执行次数)
2、警惕重复计算(将执行过的函数的结果,存放在散列表里,key为参数,value为返回值)
本文深入解析递归算法,阐述其工作原理,包括去过程(递)与回过程(归)。详细介绍了递归的三个核心条件:问题分解、相同求解思路及递归终止条件。并提供了递归代码编写指南,以及在实际应用中需注意的堆栈溢出和重复计算问题。
递归:去的过程叫“递”,回来的过程叫“归”
满足条件:
1、一个问题的解可以分解为几个子问题的解
2、这个问题与分解之后的子问题,除了数据规模不同,求解思路一致
3、存在递归终止条件(不能无限循环)
如何写出递归代码
1、基于规律写出递推公式
2、推敲终止条件
3、将递推公式和终止条件翻译成代码
注意事项:
1、警惕堆栈溢出(在代码中使用全局变量保证执行次数)
2、警惕重复计算(将执行过的函数的结果,存放在散列表里,key为参数,value为返回值)

被折叠的 条评论
为什么被折叠?