演算法第3章小結

2022-08-23 08:30:15 字數 1238 閱讀 6947

動態規劃

基本要素:(1)最優子結構性質    (2)重疊子問題性質

步  驟:(1)找出最優解的性質,並刻畫其結構特徵

(2)遞迴地定義最優值

(3)以自底向上的方式計算最優值

(4)根據計算最優值時的資訊構造最優解

自底向上的填表方法:(1)表的維數

(2)填表範圍

(3)填表順序

【例1】矩陣連乘問題

void matixchain(int *p, int n, int **m, int **s)
}}}

}

【動態規劃——備忘錄法】使用備忘錄方法,直接將遞迴演算法的計算時間從o(2n)降至o(n3).

【例2】最長公共子串行

(1)計算最優解     (由於每個陣列單元的計算耗費o(1)時間,故此演算法耗時o(mn))

(2)構造最長公共子串行  (列印出序列)

【例3】最大子段和

/*需要o(mn2)計算時間和o(mn)空間*/

動態規劃演算法分治法類似,其基本思想是將等待求解的問題分解成若干子問題,先求解子問題,再結合子問題的解得到原問題的解。不同的是,適用於動態規劃求解的問題經過分解得到的子問題往往不是獨立的,為避免大量運算,借助乙個記錄所有已解決的子問題的答案,不管是否用得到。

解決動態規劃相關問題時,應先寫出其遞迴方程,然後決定其填表方式以及順序等。

遞迴方程:

【單調遞增最長子序列】

假設d[i]為以第i個元素結尾的單調遞增最長子序列的長度,a[i]為資料值,則

d[i]=max

結對程式設計:

成也蕭何敗也蕭何。

第6章 小結

在這一章,你學習了如何為應用程式新增儲存層。一開始,使用儲存和恢復例項狀態處理函式來在會話期間儲存 activity 的例項資料,之後,學習了 sharedpreference 你可以使用它在程式的元件間儲存例項的值和使用者的設定。android 為所有的應用程式提供了完整的 sqlite rdbm...

第 3 章 基礎推薦演算法

原文 全文目錄 相關性召回 點選率排序 根本任務 匹配 匹配過程步驟 相關性召回,對使用者做360度全方位掃瞄,盡量多的描述和覆蓋使用者可能感興趣的高質量的物品 候選集融合,重點關注多樣性和相關性的均衡,召回演算法的優先順序等問題 結果排序,按照某一確定目標進行排序 業務干預 分層明確的邏輯架構,有...

第4章學習小結

第四章講的是串,陣列和廣義表,在做題過程中,逐漸發現stl中string的強大 下乙個目標,熟悉string的函式 天梯賽l1 8 估值一億的ai核心 這題也終於打出來了,心得是要盡量劃分層次,思路要清晰,嚴謹,多寫幾個判斷函式是完全沒問題的 努力習慣中.ac 原題 include include ...