動態規劃深入理解

2021-10-02 07:07:54 字數 470 閱讀 6462

能用動規解決的問題的特點

1) 問題具有最優子結構性質。如果問題的最優解所包含的 子問題的解也是最優的,我們就稱該問題具有最優子結 構性質。

2)重疊子問題

3) 無後效性。當前的若干個狀態值一旦確定,則此後過程的演變就只和這若干個狀態的值有關,和之前是採取哪種手段或經過哪條路徑演變到當前的這若干個狀態,沒有關係。從另乙個角度來說已知階段決策不能決定到現階段的決策,現階段的決策也只是根據已有的階段的決策來決定。(也就是說已有階段的決策只是為現階段的決策提供資訊)。這個也叫無後效性

1.   01揹包

2.   最長回文串

3.   最小路徑和

4.   最長公共子串行

5.   矩陣連乘

深入理解動態規劃DP

通過最近對於一些演算法題的思考,越來越發現動態規劃方法的在時間上高效性,往往該問題可以輕鬆的找到暴力破解的方法,其時間複雜度卻不盡人意。下面來看看幾個常見的動態規劃思路的經典問題f n 表 示n階樓 梯有多少 種走法f n f n 1 f n 2 f 1 1,f 2 2例二 01揹包問題 有n個重量...

深入理解C語言 深入理解指標

關於指標,其是c語言的重點,c語言學的好壞,其實就是指標學的好壞。其實指標並不複雜,學習指標,要正確的理解指標。指標也是一種變數,占有記憶體空間,用來儲存記憶體位址 指標就是告訴編譯器,開闢4個位元組的儲存空間 32位系統 無論是幾級指標都是一樣的 p操作記憶體 在指標宣告時,號表示所宣告的變數為指...

mysql 索引深入理解 深入理解MySql的索引

為什麼索引能提高查詢速度 先從 mysql的基本儲存結構說起 mysql的基本儲存結構是頁 記錄都存在頁裡邊 各個資料頁可以組成乙個雙向鍊錶每個資料頁中的記錄又可以組成乙個單向鍊錶 每個資料頁都會為儲存在它裡邊兒的記錄生成乙個頁目錄,在通過主鍵查詢某條記錄的時候可以在頁目錄中使用二分法快速定位到對應...