动态规划

Posted 天亮yǐ后

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态规划相关的知识,希望对你有一定的参考价值。

动态规划

  动态规划算法与分治法相似,其基本思想也是讲代求解的问题分解成若干个子问题,在求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适用于动态规划求解的问题,经分解得到的子问题往往不是相互独立的。若用分治法来解决,则分解得到的子问题数目太多,以至于最后解决原问题需要消耗指数时间。

  不同子问题的数目常常只有多项式量级,再用分治求解时,有些问题被重复计算了多次。如果我们能保存已解决的子问题的答案,而在需要时再找出已求得的答案,这样就可以避免大量的重复计算,从而得到多项式量级的算法。为达到这个目的,可以用一个表来记录所有已解决的子问题的答案。不管该子问题以后是否被用到,只要他被计算过,就将其结果填入表中。这就是动态规划的基本思路。具体的动态规划算法多种多样,但他们具有相同的填表格式。

  该算法的有效性依赖于问题本身所具备的两个重要性质:最优子结构性质和子问题重叠性质

 

以上是关于动态规划的主要内容,如果未能解决你的问题,请参考以下文章

算法动态规划 ② ( 动态规划四要素 | 动态规划状态 State | 动态规划初始化 Initialize | 动态规划方程 Function | 动态规划答案 Answer )

算法动态规划 ② ( 动态规划四要素 | 动态规划状态 State | 动态规划初始化 Initialize | 动态规划方程 Function | 动态规划答案 Answer )

算法动态规划 ① ( 动态规划简介 | 自底向上的动态规划示例 | 自顶向下的动态规划示例 )

算法动态规划 ① ( 动态规划简介 | 自底向上的动态规划示例 | 自顶向下的动态规划示例 )

算法动态规划 ③ ( LeetCode 62.不同路径 | 问题分析 | 自顶向下的动态规划 | 自底向上的动态规划 )

算法动态规划 ③ ( LeetCode 62.不同路径 | 问题分析 | 自顶向下的动态规划 | 自底向上的动态规划 )