AL & DS

Dynamic Programming

2018-02-12  本文已影响2人  程序猪小羊

planning all the time.
Find a polynomial time.

动态规划背后的基本思想非常简单。大致上,若要解一个给定问题,我们需要解其不同部分(即子问题),再合并子问题的解以得出原问题的解。

适用情况

【最优子结构】如果问题的最优解所包含的子问题的解也是最优的.
无后效性。即子问题的解一旦确定,就不再改变.
【重叠子问题】某些子问题会被重复计算多次 - 计算一次后 储存 - 再次遇到 查表。

而动态规划最关键的部分就是:找出转移方程。
要搞清楚的问题:动态规划只是一种解决问题的思想,使用动态规划的方法不一定是最优的解法。

斐波那契数列定义 斐波那契数列指的是这样一个数列1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...这个数列从第3项开始,每一项都等于前两项之和。

实例

斐波那契数列(Fibonacci polynomial)

背包问题

设有n件物品,每件价值Pi,每件体积Vi,求:用最大容积Vmax的包,能装下的物体的最大价值。

上一篇下一篇

猜你喜欢

热点阅读