動态規劃算法與分治法類似,其基本思想也是将待求解問題分解成若幹個子問題。但是經分解得到的子問題往往不是互相獨立的。不同子問題的數目常常隻有多項式量級。在用分治法求解時,有些子問題被重複計算了許多次。如果能夠保存已解決的子問題的答案,而在需要時再找出已求得的答案,就可以避免大量重複計算,從而得到多項式時間算法。用一個表來記錄所有已經解決的子問題的答案。不管該子問題以後是否被用到,隻要它被計算過,就将其結果填入表中。這就是動态規劃的基本思想。
動态規劃算法與分治法類似,其基本思想也是将待求解問題分解成若幹個子問題。但是經分解得到的子問題往往不是互相獨立的。不同子問題的數目常常隻有多項式量級。在用分治法求解時,有些子問題被重複計算了許多次。如果能夠保存已解決的子問題的答案,而在需要時再找出已求得的答案,就可以避免大量重複計算,從而得到多項式時間算法。用一個表來記錄所有已經解決的子問題的答案。不管該子問題以後是否被用到,隻要它被計算過,就将其結果填入表中。這就是動态規劃的基本思想。