考慮一個背包問題,共有n=5個物品,背包容量為W=10,物品的重量和價值分別為:w={2,2,6,5,4},v={6,3,5,4,6},求背包問題的最大裝包價值。若此為0-1背包問題,分析該問題具有最優(yōu)子結(jié)構(gòu),定義遞歸式為
其中c(i,j)表示i個物品、容量為j的0-1背包問題的最大裝包價值,最終要求解c(n,W)。
采用自底向上的動態(tài)規(guī)劃方法求解,得到最大裝包價值為(1 ),算法的時間復(fù)雜度為(2 )。
若此為部分背包問題,首先采用歸并排序算法,根據(jù)物品的單位重量價值從大到小排序,然后依次將物品放入背包直至所有物品放入背包中或者背包再無容量,則得到的最大裝包價值為(3 ),算法的時間復(fù)雜度為(4 )。
(1)A.11
B.14
C.15
D.16.67
(2)A.Θ(nW)
B.Θ(nlgn)
C.Θ(n2)
D.Θ(nlgnW)
(3)A.11
B.14
C.15
D.16.67
(4)A.Θ(nW)
B.Θ(nlgn)
C.Θ(n2)
D.Θ(nlgnW)