動歸背包_第1頁
已閱讀1頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

3、重量均為整數(shù),經(jīng)過幾次的選擇后背包的剩余空間可能會相等,在搜索中會重復(fù)計算這些結(jié)點,所以,如果我們把搜索過程中計算過的結(jié)點的值記錄下來,以保證不重復(fù)計算的話,[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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論