最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

動(dòng)態(tài)規(guī)劃——背包問(wèn)題

2023-09-05 14:34 作者:與時(shí)代脫軌的級(jí)數(shù)  | 我要投稿

背包問(wèn)題的本質(zhì):

如果每件物品都要考慮是否放入背包所需的深度為n,最壞就需要O(2%5En)的時(shí)間

而在考慮每件物品的過(guò)程中,中間有很多分支的計(jì)算是重復(fù)的,或者說(shuō)可以基于之前的運(yùn)算得到的子問(wèn)題答案簡(jiǎn)化本次的運(yùn)算量

因此空間換時(shí)間,開一個(gè)數(shù)組記錄中間的運(yùn)算過(guò)程,得到答案。

先展示一下原始時(shí)間復(fù)雜度比較差的思路:

不管如何,用測(cè)試數(shù)據(jù)也能返回正確結(jié)果。

接下來(lái)使用動(dòng)態(tài)規(guī)劃,不過(guò)第一次寫的時(shí)候,代碼規(guī)劃的稀爛:

不過(guò)總歸把表完整打出來(lái)了,而且和手算的結(jié)果一樣,說(shuō)明思路是沒(méi)問(wèn)題的,重點(diǎn)還是一個(gè)算新的數(shù)據(jù)要根據(jù)已經(jīng)算出的數(shù)據(jù),就會(huì)簡(jiǎn)化一部分運(yùn)算。

不過(guò)實(shí)際應(yīng)用可能更需要的是展示具體的選擇和最終的結(jié)果,而且上面的寫法也太丑陋了,因此優(yōu)化一下:

其中找出所選的物品是根據(jù)結(jié)果和表格來(lái)逆向推導(dǎo)的,這次的代碼已經(jīng)簡(jiǎn)潔了不少。

不過(guò),如果只是需要一個(gè)結(jié)果的話,觀察到表格中的下面一行都是根據(jù)上面一行得到的,開一個(gè)大二維數(shù)組似乎有點(diǎn)奢侈,所以用滾動(dòng)數(shù)組優(yōu)化一下:

當(dāng)然,也可以考慮在原始遞歸的思路上改進(jìn),這樣的做優(yōu)點(diǎn)是看起來(lái)比較簡(jiǎn)單,也很好寫:

最后提醒一下數(shù)組記得初始化。

動(dòng)態(tài)規(guī)劃——背包問(wèn)題的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
瑞昌市| 安徽省| 肃北| 饶河县| 鄂托克旗| 长治市| 麦盖提县| 宜君县| 金阳县| 荆州市| 夏邑县| 定边县| 台山市| 仙居县| 竹北市| 陆河县| 锡林郭勒盟| 延长县| 齐河县| 抚远县| 通海县| 辽宁省| 昌宁县| 花莲县| 九龙城区| 洛宁县| 博湖县| 安仁县| 北辰区| 宝丰县| 贡觉县| 阜城县| 东明县| 瑞丽市| 平泉县| 肥西县| 巴林右旗| 衡南县| 云南省| 新竹县| 玛曲县|