递归:自上至下,把大问题分解成小问题解决。
动态规划:自下至上,通过解决小问题,集合为解决大问题。
用递归能解决的问题,一般都可以用动态规划来解决。
区别:
递归: 缺点:会重复计算相同的问题,相当耗时。 优点:不会记录每个问题的结果,所以内存消耗相对小。
动态规划:缺点:会记录每一个问题的结果,内存消耗较大。 优点:不会计算相同问题,时间消耗较小。
递归:自上至下,把大问题分解成小问题解决。
动态规划:自下至上,通过解决小问题,集合为解决大问题。
用递归能解决的问题,一般都可以用动态规划来解决。
区别:
递归: 缺点:会重复计算相同的问题,相当耗时。 优点:不会记录每个问题的结果,所以内存消耗相对小。
动态规划:缺点:会记录每一个问题的结果,内存消耗较大。 优点:不会计算相同问题,时间消耗较小。