關於動態規劃演算法的應用,是有迭代的,而且不能有後效性,即後面的狀態不能影響到當前。
例子:關於應用動態規劃演算法的乙個例子,就是何時**問題利潤最大化問題:
每走一步都記錄出現的最小值,並檢查下利潤否大於當前的最優值
關於貪心演算法的應用,當單個子問題就可以決定父問題,可以用貪心法
例子:最長無重複子串問題
假設子串裡含有重複字元,則父串一定含有重複字元,單個子問題就可以決定父問題,因此可以用貪心法。跟動規不同,動規裡,單個子問題只能影響父問題,不足以決定父問題。
對動態規劃和貪心演算法的一點理解
一直很模糊的感覺這兩個重要的演算法應該有些聯絡。首先都是求解最優問題的很有效的方法,其次都有明顯的最優判定 通過對某些值的max和min 運算來決定下一步的步驟。具體的異同自己就說不清楚了,關鍵是對動態規劃演算法本身也不是特別理解。今天看了一下mit的演算法導論的相關章節,算是有了個大 概認識。題外...
動態規劃與貪心演算法
1.動態規劃演算法 在解決最優解時我們用到的兩個演算法,貪心與動態規劃演算法,接下來我根據自己的理解解釋兩者的差異之處。貪心會怎樣做,動態規劃又會怎樣做?我的了解,貪心演算法是自頂向下,及每一步向下都取最大值,但得到的是最優解嗎?如圖顯然不是。接下來我會逐一跟大家演示。動態規劃解法,從小規模來看是否...
動態規劃與貪心演算法的區別
本來這次是該總結動態規劃的,但在學習過程中發現動態規劃和上一節的貪心演算法有很大聯絡,而在演算法設計過程中主要是對兩種演算法的選擇,所以決定這次以對比的方式做總結,既可以更深入地了解動態規劃,又可以對貪心演算法有個新的認識。背景介紹 這兩種演算法都是選擇性演算法,就是從乙個候選集合中選擇適當的元素加...