背包問題是否本質上都是DP?
12-30
謝邀,題主的概念混淆了。動態規劃是解決決策類問題的一種思想方法,並不是一類問題。猜測題主的意思是背包問題解法在本質上是否和 DP 相同。背包問題是經典的 NP 完全問題,利用動態規劃的演算法只能作為其一種偽多項式解法,兩者在本質上不相同。
容量非整數的情況不都跪得妥妥的。只有背包容量為不太大的整數時才能用dp,沒有這條限制,數據量小可以DFS+分支定界(仍然指數時間複雜度),數據量大只能用各種啟發式演算法求近似解。
同意 丁戍,演算法競賽 的觀點
背包問題是一類問題(problem),而DP是一種解決問題的一類方法,DP只是在解決離散型背包問題時非常給力。但不能把不同類的東西放在一起說某東西是某東西的本質。
舉個不恰當的例子,我們不能說NP-難問題的本質是搜索。
Dp是有效解決其中一類背包問題的方法...
推薦閱讀:
※用Python刷面試演算法題(如leetcode)是怎樣的體驗?
※做 IT,如何從優秀變為卓越?
※能幫助通俗解釋下NSGA3演算法嗎。?
※學習機器學習深度學習之後,還需要掌握傳統演算法和數據結構嗎?