1. 程式人生 > >動態規劃,分治法,回溯法 比較

動態規劃,分治法,回溯法 比較

動態規劃:狀態轉移方程,使用陣列,遞迴或迭代(for,while)都行,求子問題的最優解,再用狀態轉移方程計算合併

(輸入是一維,可使用一維或二維;輸入是二維,可使用一維或二維;有些可在原輸入陣列中運算而不必開闢新的陣列空間)

 

分治法:無狀態轉移方程,一般使用遞迴實現,遞迴或迭代(for,while)也行,求規模更小的相同子問題的解,合併子問題的解

 

回溯法:無狀態轉移方程,一般使用遞迴實現,類似DFS,(兩種情況,左子樹情況,右子樹情況...)

 

《一隻青蛙跳出來的分治法、回溯法與動態規劃》

http://blog.ihuxu.com/divide-and-conquer-backtracking-and-dynamic-programming-from-a-frog-jumping-out/#comment-6388