青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

PIGWORLD

學(xué)無止境

背包問題 -- 1) 思路,遞歸求解

        最近看了《算法I-IV(C++語言描述)》中關(guān)于動態(tài)編程求解背包問題的部分,感覺書中描述的不是很詳細,在這里通過我個人的理解再加上書中的描述,再重溫下這一經(jīng)典問題的動態(tài)編程求解方法。

        所謂的背包問題,可以描述如下:一個小偷打劫一個保險箱,發(fā)現(xiàn)柜子里有N類不同大小與價值的物品,但小偷只有一個容積為M的背包來裝東西,背包問題就是要找出一個小偷選擇所偷物品的組合,以使偷走的物品總價值最大。我們可以定義以下結(jié)構(gòu):

        struct Item {
                int size;            //保存物品大小
                int val;             //保存物品價值
        };

例如有下表中的物品:

Index

0

1

2

3

4

Item

A

B

C

D

E

Size

3

4

7

8

9

Val

4

5

10

11

13

       
        上表中第一行(Index)是物品在程序中的索引號,第二行(Item)是物品的標(biāo)示,第三行(Size)是物品的大小,第四行(Val)是物品的價值,而每一列又對應(yīng)了一類物品。假設(shè)小偷背包的容積為17,則小偷能夠拿走5個A價值為20的物品,或者1個D和1個E,價值為24的物品,等等。
        為了使小偷在背包容積為cap的情況下,能夠偷走最大價值的物品,我們可以假設(shè)小偷足夠聰明,無論背包容積cap為多少,小偷總能找到最優(yōu)的組合使背包中所裝物品的價值最大。
        倘若我們定義函數(shù):
        int  knap( int cap );
該函數(shù)的返回值為容積為cap的背包所裝物品的最大價值。對于cap為17的背包,因為有5類物品,所以所裝物品的價值有以下組合:
        1) 4 + knap( 17 - 3 ),即 item[0].val + knap(cap - item[0].size);
        2)     5 + knap( 17 - 4 ),即 item[1].val + knap(cap - item[1].size);
        3)    10 + knap( 17 - 7 ),即 item[2].val + knap(cap - item[2].size);
        4)     11 + knap( 17 - 8 ),即 item[3].val + knap(cap - item[3].size);
        5)     13 + knap( 17 - 9 ),即 item[4].val + knap(cap - item[4].size);
因為小偷已經(jīng)幫助我們找到了cap = cap - item[i].size的最優(yōu)組合,所以我們只需要找到item[i].val + knap(cap - item[i].size)的最大值也就完稱了我們的任務(wù)了。
        下面的程序代碼是按以上的思路編寫的:
 http://pigworld.blogbus.com/files/1134918024.jpg
我么定義了一個類型為Item的N項數(shù)組,對于每一個可能的項,我們遞歸的計算所能得到的最大值,然后挑出那些值中的最大項返回。
        需要說明的是,上面的代碼不應(yīng)該成為正式的代碼,如果按上面的代碼畫出每次函數(shù)調(diào)用的二叉樹圖,就會發(fā)現(xiàn)有大量重復(fù)的計算來處理同一個問題,其結(jié)果就是耗費指數(shù)級的時間,因而是低效的。
        下一篇背包問題 -- 2) 改進,自頂向下的動態(tài)編程將會介紹如何對上面的代碼改進,使耗費的時間從指數(shù)級減少到線性級。

posted on 2006-01-03 23:15 PIGWORLD 閱讀(8227) 評論(5)  編輯 收藏 引用

Feedback

# re: 背包問題 -- 1) 思路,遞歸求解 2006-04-24 13:51 dimensioll

這樣會重復(fù)取同一個價值大的問題。錯誤  回復(fù)  更多評論   

# re: 背包問題 -- 1) 思路,遞歸求解 2006-05-14 10:54 SIMMONM

算法沒錯,不會重復(fù)取同一個價值大的問題  回復(fù)  更多評論   

# re: 背包問題 -- 1) 思路,遞歸求解 2009-04-24 11:43 klein

space 那 >=  回復(fù)  更多評論   

# re: 背包問題 -- 1) 思路,遞歸求解 2012-07-24 16:05 hello

@klein
算法看起來沒有問題,但是求解的結(jié)果的確有問題。 能仔細找找嗎?  回復(fù)  更多評論   

# re: 背包問題 -- 1) 思路,遞歸求解 2012-07-24 16:06 hello

@hello
這樣修改后就ok了:
(space = cap - fruits[i].getSize()) >= 0

謝謝  回復(fù)  更多評論   



只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲男人天堂2024| 午夜精品视频网站| 亚洲国产va精品久久久不卡综合| 国产在线拍偷自揄拍精品| 亚洲国产小视频在线观看| 亚洲精品一区二区网址| 91久久精品www人人做人人爽 | 亚洲欧美欧美一区二区三区| 国产日韩综合| 午夜精品偷拍| 欧美国产成人精品| 国产亚洲人成a一在线v站| 亚洲摸下面视频| 中日韩午夜理伦电影免费| 在线亚洲免费视频| 在线观看亚洲一区| 欧美精品在线一区二区| 久久亚洲精品网站| 在线亚洲精品| 美女黄毛**国产精品啪啪| 国产欧美日韩在线观看| 欧美精品色一区二区三区| 欧美香蕉视频| 亚洲国产日韩欧美| 伊人精品在线| 亚洲在线电影| 亚洲日本乱码在线观看| 亚洲视频你懂的| 久久激情网站| 欧美日产国产成人免费图片| 国产伦精品免费视频| 亚洲精品午夜| 久久精品九九| 一本色道久久综合亚洲精品高清 | 欧美精品福利视频| 夜夜嗨av一区二区三区四区| 国产精品萝li| 亚洲成人中文| 一区二区三区四区五区视频| 久久九九国产| 99人久久精品视频最新地址| 久久婷婷人人澡人人喊人人爽| 99国产精品视频免费观看| 亚洲美女视频在线观看| 欧美一区二区三区视频在线观看| 鲁鲁狠狠狠7777一区二区| 国产精品magnet| 最新日韩在线视频| 亚洲一区久久久| 浪潮色综合久久天堂| 久久亚洲精品网站| 一本色道久久综合狠狠躁的推荐| 国产一区二区三区的电影| 国产精品视屏| 午夜视频久久久| 开心色5月久久精品| 国产精品日日摸夜夜摸av| 亚洲精品国产无天堂网2021| 久久亚洲视频| 久久精品99国产精品| 国产日韩欧美在线| 亚洲自拍都市欧美小说| 亚洲伦理一区| 欧美日韩精品久久久| 99视频一区| 亚洲人成网站777色婷婷| 麻豆精品视频在线观看视频| 亚洲国产高清aⅴ视频| 美脚丝袜一区二区三区在线观看| 久久国产福利| 伊人激情综合| 亚洲国产精品激情在线观看| 欧美mv日韩mv国产网站app| 亚洲国产天堂久久国产91| 欧美激情精品久久久久久变态| 久久这里只有| 亚洲国产人成综合网站| 最新成人av在线| 欧美午夜大胆人体| 久久岛国电影| 美女黄色成人网| 一区二区欧美在线| 亚洲欧美成aⅴ人在线观看| 国内揄拍国内精品久久| 欧美激情精品久久久久久久变态 | 欧美国产日韩一区二区| 日韩亚洲欧美高清| 夜夜嗨av一区二区三区网页| 国产麻豆精品久久一二三| 久久天堂成人| 欧美日韩久久不卡| 久久精品在线| 91久久综合| 欧美制服丝袜第一页| 国产伦精品一区二区三区在线观看| 欧美一区二区视频在线观看| 久久精品一区二区三区不卡| 亚洲精品网址在线观看| 欧美成人精品在线观看| 亚洲午夜黄色| 久久精品夜色噜噜亚洲a∨ | 久久精品盗摄| 国产精品视频不卡| 欧美视频在线观看 亚洲欧| 亚洲欧美欧美一区二区三区| 久久gogo国模裸体人体| 亚洲精品久久久久久一区二区| 亚洲一二三区在线观看| 在线成人h网| 亚洲免费在线视频| 亚洲免费av观看| 久久黄色影院| 久久www免费人成看片高清| 欧美日韩精品一区二区天天拍小说| 久久久久一区二区| 国产精品国产成人国产三级| 欧美激情精品久久久久久变态| 国产在线播精品第三| 制服诱惑一区二区| 亚洲精品专区| 久久久久久久久综合| 亚洲一区欧美| 欧美日韩亚洲在线| 亚洲日本中文| 亚洲精品欧美| 母乳一区在线观看| 噜噜噜噜噜久久久久久91| 国产精品一区二区黑丝| 亚洲视频在线播放| 亚洲一区视频在线观看视频| 欧美高清日韩| 欧美激情一区二区三区在线视频观看 | 国产欧美日本一区视频| 日韩一级黄色大片| 在线午夜精品| 欧美日韩一区二区三区免费 | 99国产一区二区三精品乱码| 影音先锋日韩资源| 久久久爽爽爽美女图片| 久久久精品性| 亚洲乱码国产乱码精品精| 一本久久精品一区二区| 日韩网站在线| 欧美黑人国产人伦爽爽爽| 欧美成人官网二区| 最新国产成人av网站网址麻豆 | 国产精品久久久久久久久免费桃花| 91久久综合| 中国成人亚色综合网站| 欧美四级在线观看| 亚洲一区在线免费| 久久不射2019中文字幕| 国产专区一区| 免费黄网站欧美| 亚洲精品中文字幕女同| 亚洲午夜视频在线观看| 国产精品免费一区二区三区观看| 亚洲一区成人| 美女精品在线| 正在播放亚洲一区| 国产欧美1区2区3区| 久久这里只精品最新地址| 日韩亚洲视频在线| 久久久99国产精品免费| 亚洲国产乱码最新视频| 欧美日韩一区二区三区| 久久精品国语| 99精品视频免费观看| 久久精品一区二区| 日韩午夜在线播放| 国产亚洲在线观看| 欧美精品v日韩精品v国产精品| 亚洲一区二区三区在线视频| 欧美成人午夜激情在线| 亚洲在线视频一区| 亚洲第一黄色| 国产精品日韩精品| 欧美 日韩 国产在线 | 欧美精品久久99| 午夜精品久久久久久久99黑人| 欧美aⅴ一区二区三区视频| 亚洲综合国产| 亚洲电影自拍| 国产精品免费小视频| 欧美freesex8一10精品| 羞羞答答国产精品www一本| 亚洲国产综合视频在线观看 | 99国产精品99久久久久久粉嫩| 欧美一区二区三区免费视频| 亚洲欧洲在线一区| 国产一区亚洲| 国产精品美女久久福利网站| 久久综合久久综合久久综合| 亚洲欧美www| 99在线热播精品免费99热| 欧美成人嫩草网站| 麻豆成人综合网| 久久女同精品一区二区| 午夜老司机精品| 亚洲制服欧美中文字幕中文字幕|