背包問題和0-1背包問題有什麽區別
背包問題和0-1背包問題區別為:循環變量不同、約束條件不同、最大總價值不同。
壹、循環變量不同
1、背包問題:背包問題須先求出列坐標j較小的元素,故讓循環變量j的值從小到大遞增。
2、0-1背包問題:0-1背包問題須先求出列坐標j較大的元素,故讓循環變量j的值從大到小遞減。
二、約束條件不同
1、背包問題:背包問題的約束條件是給定幾種物品,物品可以取無限次。
2、0-1背包問題:0-1背包問題的約束條件是給定幾種物品,物品只可以取壹次。
三、最大總價值不同
1、背包問題:背包問題若取了1件第i個物品,則總容量變為j-W[i],剩下的仍可以在前i件物品中去取,其最大總價值為B[i][j-W[i]] + P[i]。
2、0-1背包問題:0-1背包問題若取了1件第i個物品,則總容量變為j-W[i],剩下的只能在前i-1件物品中去取了,其最大總價值為B[i-1][j-W[i]] + P[i]。