之所以再寫一篇blog,是因為現實中很多問題都可以轉化成「找換硬幣」問題 和 「0-1」揹包問題。因此,需要細細理解。
其次,在「參考資料」中彙總關於 貪心演算法與動態規劃的一些blog及學習資料。
區別:其實最大的區別就是:找換硬幣問題中的 某類硬幣 是可以多次選擇的。而對於0-1揹包問題,某物品要麼選,要麼不選,選了之後,它就「沒了」。當然,有0-1揹包問題的變形--完全揹包問題--某(某類)物品有多個,可重複選。
第二,就是選擇的權衡。0-1揹包問題,還有個價值屬性,在選擇的時候,是考慮價值的最大化。重量相當於 cost, 而價值則是 value.
而對於 找硬幣,則沒有這麼複雜。從這點看,找換硬幣問題要簡單一些。但是它聚焦於 用更少的硬幣。所以 在考慮其他問題時,判斷它是關注價值的最大化呢,還是 關注 最少數目。
硬幣找零問題的動態規劃實現
部分揹包問題的貪心演算法正確性證明
某種 找換硬幣問題的貪心演算法的正確性證明
從 活動選擇問題 看動態規劃和貪心演算法的區別與聯絡
求解兩個字串的最長公共子串行
給定乙個整數,求解該整數最少能用多少個fib數字相加得到
《揹包九講》
知乎上關於動態規劃思想的討論
找換硬幣問題 與 0 1揹包問題區別
之所以再寫一篇blog,是因為現實中很多問題都可以轉化成 找換硬幣 問題 和 0 1 揹包問題。因此,需要細細理解。其次,在 參考資料 中彙總關於 貪心演算法與動態規劃的一些blog及學習資料。區別 其實最大的區別就是 找換硬幣問題中的 某類硬幣 是可以多次選擇的。而對於0 1揹包問題,某物品要麼選...
揹包問題,硬幣問題
至少有4種揹包問題 1 01揹包 2 部分揹包 3 完全揹包 4 多重揹包。只有部分揹包是個貪心問題,其他的都是以01揹包為基礎的動歸問題。部分揹包問題 把物品按價值密度從大到小排序 w i v i 然後從第一種物品開始,盡可能多拿當前物品,如果當前物品的量小於揹包剩餘容量,拿完,指標推到下一種物品...
揹包問題 01揹包問題
n個物品,總體積是v,每個物品的體積的vi,每個物品的最大價值是wi,在不超過v的體積下求最大價值 eg揹包容積為 5 物品數量為 4 物品的體積分別為 物品的價值分別為 思路定義乙個二位陣列int f new int n 1 v 1 f i j 就表示在1 i個物品中選取體積小於v的情況的最大價值...