📢📢📢📣📣📣
🌻🌻🌻Hello,大家好我叫是Dream呀,一個有趣的Python部落客,小白一枚,多多關照😜😜😜
🏅🏅🏅CSDN Python領域新星創作者,大二在讀,歡迎大家找我合作學習
💕
💓
入門須知:這片樂園從不缺乏天才,努力才是你的最終入場券!🚀🚀🚀
最後,願我們都能在看不到的地方閃閃發光,一起加油進步🍺🍺🍺
🍉🍉🍉“一萬次悲傷,依然會有Dream,我一直在最溫暖的地方等你”,唱的就是我!哈哈哈~🌈🌈🌈
🌟🌟🌟✨✨✨
第九章:動态規劃
- 9.1背包問題
- 9.2 動态規劃
- 9.3 繪制網格
- 9.4 小結
- 📢📢📢最後的福利
9.1背包問題
假設你是個小偷,背着一個可裝4 磅東西的背包。
你可盜竊的商品有如下3 件:
音響,3000美元,4磅
筆記本電腦,2000美元,3磅
吉他,1500美元,1磅
每個動态規劃算法都從一個網格開始,背包問題的網格如:
最終結果:
動态規劃功能強大,它能夠解決子問題并使用這些答案來解決大問題。但僅當每個子問題都是離散的,即不依賴于其他子問題時,動态規劃才管用。
最優解可能導緻背包沒裝滿。
9.2 動态規劃
動态規劃先解決子問題,再逐漸解決大問題。
對于背包問題,你先解決小背包(子背包)問題,再逐漸解決原來的問題。
每個動态規劃算法都從一個網格開始,網格的各行為商品,各列為不同容量( 1~4磅)的背包。所有這些列你都需要,因為它們将幫助你計算子背包的價值。
動态規劃可幫助你在給定限制條件下找到最優解。在背包問題中,你必須在背包容量給定的情況下,偷到價值最高的商品。
在問題可分解為彼此獨立且離散的子問題時,就可使用動态規劃來解決。要設計出動态規劃解決方案可能很難,這正是本節要介紹的。下面是一些通用的小貼士。
每種動态規劃解決方案都涉及網格。
9.3 繪制網格
對于前面的背包問題,最終答案總是在最後的單元格中。但對于最長公共子串問題,答案為網格中最大的數字——它可能并不位于最後的單元格中。
9.4 小結
- 需要在給定限制條件下優化某種名額時,動态規劃很有用。
- 問題可分解為離散子問題時,可使用動态規劃來解決。
- 每種動态規劃解決方案都涉及網格。
- 單元格中的值通常就是你要優化的值。
- 每個單元格都是一個子問題,是以你需要考慮如何将問題分解為子問題。
- 沒有放之四海皆準的計算動态規劃解決方案的公式。
📢📢📢最後的福利
☀️☀️☀️最後一點小福利帶給大家:如果想快速上手python的小夥伴們,這個詳細整理PPT可以迅速幫助大家打牢python基礎,需要的小夥伴們可以下載下傳一下 Python入門基礎教程全套+小白速成+學不會來找我! 🍻🍻🍻
還有自制表白神器,需要自取:
Python表白神器,源碼+解析+各種完美配置+浪漫新穎 🍻🍻🍻
好啦,這就是今天要給大家分享的全部内容了
如果你喜歡的話,就不要吝惜你的一鍵三連了~