在上一篇《9.動(dòng)態(tài)規(guī)劃(2)——子集和問(wèn)題》中,談到了什么是子集和問(wèn)題,以及實(shí)現(xiàn)。背包問(wèn)題實(shí)際也是子集和問(wèn)題的一種,不過(guò)背包問(wèn)題不是“判斷問(wèn)題”而是一個(gè)“最優(yōu)問(wèn)題”。而背包問(wèn)題實(shí)際上又分為“0-1背包”,“完全背包”,本文對(duì)“0-1背包”進(jìn)行講解。

  問(wèn)題:有n個(gè)物品,每個(gè)物品的重量為weigh[i],每個(gè)物品所對(duì)應(yīng)的價(jià)值為price[i],現(xiàn)在有一個(gè)背包,背包所能承受的重量為W,問(wèn)背包能裝下的物品總價(jià)值最大是多少?

  定義s[i, j]表示前i個(gè)物品的總價(jià)值,j為背包的承重量。當(dāng)j = W或者最接近于W且小于W時(shí),此時(shí)就是問(wèn)題的解。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式