演算法常用正規化記錄如下:
由名稱可知,此正規化主要的方式是將所有情況進行窮舉,逐個嘗試。
優點:應用此模式,理論上能夠解決任何問題。
缺點:實際應用中,由於演算法對於時間和空間的要求,規模大時無法滿足。
也稱為了線性演算法,常用的模式有:
1、氣泡排序
2、選擇排序
3、順序查詢
顧明思議,就是將大的問題,分解成若干個小結構的,與原問題相似的子問題,以便更好的分析和討論,然後再遞迴的解決這些問題,最後將其合併,以便得到原問題的解。
常用的模式有:
1、二分查詢法
2、快速排序法
3、合併排序法
一般步驟:
1、分解:將原問題分解成一系列與原問題同質的子問題。
2、解決:遞迴解決各個子問題,若子問題足夠小,則直接求解。
3、合併:將子問題結果合併成原問題的解。
核心是將問題分解成若干個子問題,再按照順序進行求解,前乙個子問題的解為後乙個子問題求解提供依據。
基本步驟:
貪心演算法在求解問題時,總是做出當前看來最好的選擇,演算法設計的關鍵是貪心策略的選擇。
貪心策略選擇的前提是:區域性的最優策略能導致產生全域性最優解。
所以實際上,貪心演算法適用的場景很少。
基本思路:
1、建立數學模型來描述問題。
2、把求解的難問題分成若干個子問題。
3、對每個子問題求解,得到子問題的區域性最優解。
4、把子問題的區域性最優解合成原來問題的乙個解。
可以理解成隱式的深度優先搜尋演算法。
就是按照優選條件向前搜尋,但當探索到某一步時,發現原來的選擇並不優,或者達不到目標,此時就退回一步重新選擇,這種走不通就退回再走的,稱為回溯法,而滿足回溯條件的某個狀態的點,稱為回溯點。
許多複製的,規模較大的問題都可以使用回溯法,有通用解題法的美稱。
一般步驟:
1、針對給定問題,確定問題解空間,問題的解空間應至少包含問題的乙個(最優)解。
2、確定問題的擴充套件搜尋規則。
3、以深度優先的方式索索解空間,並在搜尋過程中用剪支函式避免無效搜尋。
《高效能MySQL》筆記 正規化與反正規化
對於任何給定的資料通常都有很多種表示方法,從完全的正規化化到完全的反正規化化,以及兩者的折中。在正規化化的資料庫中,每個事實資料會出現並且只出現一次。相反,在反正規化化的資料庫中,資訊是冗餘的,可能會儲存在多個地方。下面以經典的 雇員,部門,部門領導 的例子開始 這個schema的問題是修改資料時可...
資料庫正規化筆記
設計正規化指的是可高效的方便擴充資料庫的準則,但實際中也只是作為參考。實際工作中,設計原則 根據業務盡可能的減少多表查詢。第一正規化 單錶 資料表中的每乙個欄位都不可再分,即都使用標準資料型別,如以下不符合 create table member 編號 number,姓名 varchar2 200 ...
學習筆記 正規化,資料依賴
正規化 說明 1 關聯式資料庫中的關係是要滿足一定要求的,滿足不同程度要求的為不同正規化。2 滿足最低要求的叫第一正規化,簡稱1nf。3 規範化定義 乙個低一級正規化的關係模式通過模式分解可以轉換為若干個高一級正規化的關係模式的集合,這種過程就叫規範化。4 bcnf滿足條件 1 所有非主屬性對每乙個...