演算法的分析思路

2022-06-12 19:21:07 字數 1088 閱讀 6018

分析框架

1、以演算法輸入規模n作為引數進行分析演算法效率

2、時間複雜度:找出基本操作o(1),再計算它的執行次數(忽略乘法常量,僅關注增長次數)

3、增長次數:log2n4、最差、平均和最佳效率均是指輸入規模為n時候的效率(平均效率可以引用已知的推到結果)

主要概括分析框架:

1、演算法的時間效率和空間效率都用輸入規模的函式進行度量。

2、用演算法的基本操作的執行次數來度量時間效率,用演算法消耗的額外單位的數量來度量空間單位

3、在輸入規模相同的情況下,有寫演算法的效率會有顯著的差異,對於這類演算法需要分析最差、平均和最佳效率

4、框架主要關心:輸入規模趨向於無限大的情況下它的效率問題

漸近符號和基本效率型別

1、o(g(n))是增長次數 < = c*g(n)的函式集合,上階

2、ω(g(n))是增長次數 >= c*g(n)的函式集合,下階

3、θ(g(n))是增長次數 = c*g(n)的函式集合,同階

可以利用極限進行比較增長次數(洛必達法則)

演算法整體效率是由具有較大增長次數的部分所決定的。

非遞迴問題的數學分析的通用方案

1、決定哪個引數表示輸入規模的度量標準

2、找出演算法的基本操作

3、檢查基本操作的執行次數是否只依賴於輸入規模,如果它還依賴於一些其他的特性(例如:元素在陣列中的位置等)則分析最差、平均和最佳效率

4、建立乙個演算法基本操作執行次數的求和表示式(有可能是遞推表示式)

5、利用求和運算的標準運算或者法則來建立乙個操作次數的閉合公式,或者至少確定它的增長次數

遞迴問題的數學分析的通用方案

1、決定哪個引數表示輸入規模的度量標準

2、找出演算法的基本操作

3、檢查基本操作的執行次數是否只依賴於輸入規模,如果它還依賴於一些其他的特性(例如:元素在陣列中的位置等)則分析最差、平均和最佳效率

4、對於演算法基本操作執行次數,建立乙個遞推關係以及相應的初始條件。

5、解這個遞推式,或者至少確定它的增長次數。

領扣演算法思路分析

1 爬樓梯 假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 1 輸入 2輸出 2 解釋 有兩種方法可以爬到樓頂。1.1 階 1 階 2.2 階 思路 遞迴或者動態規劃 動態規劃 不難發現,這個問題...

每日分析思路

首先,分析 目前的情況,處於強勢上公升期,可關注起步 處於壓力位前期,可關注滯漲 處於壓力位後期,可關注滯漲 股或退出 處於強烈下降期,堅決離場 第二,分析各大板塊的漲幅情況,主要板塊有金融 電力 煤炭 房地產 金屬 醫藥 鋼鐵 農業 機械 電子 建設,熱門板塊現在有新能源 環保 新上海 廣東 百貨...

KMP(思路分析)

介紹 kmp演算法是在給定的一串字串中查詢是否有目標串。分析 1 一般解法 對於以上問題,假如用樸素演算法,我們容易想到 用目標串 長度為n 的第1個字元依次與給定串 長度為m 的第1個至最後乙個字元對齊匹配,直到找到目標串為止。這樣演算法複雜度是m n。2 kmp演算法 思路分析 kmp演算法通過...