动态规划的基本思想
分治法
將一個規模為n的問題分解為K個規模較小的子問題,這些子問題互相獨立且與原問題相同。遞歸的解決這些問題,然后將各個子問題的解合并得到原問題的解
貪心法
當前的選擇可能要依賴于已經做出的選擇,但不依賴于有待于做出的選擇和子問題。因此貪心法是自頂向下,一步一步地做出貪心的選擇
動態規劃
動態規劃的實質是分治思想和解決冗余,因此動態規劃是一種將問題實例分析為更小的、相似的子問題,并存儲子問題的解而避免計算重復的子問題,以解決最優化問題的算法策略
動態規劃所針對的問題有一個顯著的特征,即它對應的子問題樹中的子問題呈現大量的重復。動態規劃的關鍵在于,對于重復的子問題,只在第一次遇到時求解,并把答案保存起來,讓以后再遇到時直接引用,不必要重新求解
總結
- 上一篇: Java基础案例教程
- 下一篇: 选择排序-冒泡排序-归并排序-快速排序-