动态规划和递推的区别
时间: 2023-09-12 22:09:24 浏览: 233
动态规划36讲——学好动态规划的重要途径
动态规划和递推都是常用的问题求解方法,但它们在思想和实现上有一些区别。
递推是一种通过已知的初始条件,利用递推关系式逐步推导出问题的解的方法。递推通常是自底向上地计算,在每个阶段都利用前一个阶段的结果来计算当前阶段的结果。递推的典型应用包括斐波那契数列和阶乘等。
动态规划则是一种将复杂问题分解为简单子问题并以一种递推的方式求解的方法。它通常用于求解具有重叠子问题性质的问题,通过保存已解决子问题的结果,避免重复计算,提高效率。动态规划可以采用自顶向下的记忆化搜索,也可以采用自底向上的迭代方式实现。
总的来说,递推是一种迭代的思想,从已知条件出发逐步递推得到结果;而动态规划则是将问题分解为子问题,通过保存已解决子问题的结果来避免重复计算。它们在具体问题求解时的思路和实现方式上略有不同。
阅读全文