動(dòng)歸背包_第1頁(yè)
已閱讀1頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、背包問(wèn)題之背包問(wèn)題之PAL遞歸動(dòng)歸精講遞歸動(dòng)歸精講在M件物品取出若干件放在空間為W的背包里,每件物品的重量為W1,W2……Wn,與之相對(duì)應(yīng)的價(jià)值為P1P2……Pn。求出獲得最大價(jià)值的方案。注意:在本題中,所有的重量值均為整數(shù)。[算法分析]:對(duì)于背包問(wèn)題,通常的處理方法是搜索。用遞歸來(lái)完成搜索,算法設(shè)計(jì)如下:functionmake(i處理到第i件物品j剩余的空間為j:integer):integer初始時(shí)i=mj=背包總?cè)萘縝egini

2、fi:=0thenmake:=0ifj=wthen(背包剩余空間可以放下物品i)r1:=make(i1jw)v(第i件物品放入所能得到的價(jià)值)r2:=make(i1j)(第i件物品不放所能得到的價(jià)值)make:=max(r1r2)別告訴我學(xué)了這么多年一個(gè)max函數(shù)不會(huì)編end你別看這個(gè)遞歸小小的執(zhí)行make差不多2^n次差不多就是那一種每一個(gè)包選還是不選這個(gè)算法的時(shí)間復(fù)雜度是o(2^n),我們可以做一些簡(jiǎn)單的優(yōu)化。由于本題中的所有物品的

3、重量均為整數(shù),經(jīng)過(guò)幾次的選擇后背包的剩余空間可能會(huì)相等,在搜索中會(huì)重復(fù)計(jì)算這些結(jié)點(diǎn),所以,如果我們把搜索過(guò)程中計(jì)算過(guò)的結(jié)點(diǎn)的值記錄下來(lái),以保證不重復(fù)計(jì)算的話,[table=38.59%][tr][td]proceduremakebeginfi:=0towdof[0i]:=0fi:=1tomdofj:=0towdobeginf[ij]:=f[i1j]if(j=w)(f[i1jw]vf[ij])thenf[ij]:=f[i1jw]vendw

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論