算法設計思想--動態規劃

動態規劃

一種針對特定類型算法效率優化的思想

適用的問題類型

要求解問題 = 常量處理 + 多個規模較小同類問題 形式求解

分析

則對此算法實現過程進行分析
由於遞歸的特點
我們求解規模較大問題的過程中,會經歷如下遞歸鏈
規模較小問題 -> 規模更小問題 -> ... ->可直接求解的規模
當存在重複求解相同的 規模更小問題的情況時,
可選的優化方案
每次較小規模的求解完成時,對其記錄
在對較大規模求解時,
先按分治形式,把大規模分解爲小規模問題之和+組合形式
對小問題求解時,先查表,
若已經被解,查表,取結果。
若未解,沿遞歸鏈展開求解。

另一種,優化方案,
因爲問題性質爲,給定規模問題可以分解爲 多個較小規模問題+組合形式
只要 多個較小規模問題均已經求解,我們可以直接給出,對應規模下的解。
而且,問題規模足夠小時,問題可以直接求解。
這樣,我們按迭代方式,
按規模從小到大,
每次迭代完成,利用已有結果,直接求出迭代規模下的解。

總結

動態規劃
分治法求解
求解過程存在重複求解子問題
優化1:分治+查表
優化2:化分治爲迭代。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章