函式的增長 演算法導論 2

2022-02-10 18:59:51 字數 1269 閱讀 2960

1. 引言

這一章主要是介紹一些概念,雖然很乏味,但是它確實能夠幫助我們去更好的分析、處理問題。

2. 漸進記號

(1) θ 記號

θ(g(n)) =

通俗地講,若存在正常數才c1,c2,使得對於足夠大的n,函式f(n)能「夾入」c1*g(n)與c2*g(n)之間,則f(n)屬於集合θ(g(n))(通常把f(n) ∈ θ(g(n))記為f(n) = θ(g(n)))。我們稱g(n)是f(n)的乙個漸進緊確界

(2) ο記號

θ記號漸進的給出了乙個函式的上界和下界。當只有乙個漸進上界時,使用ο記號。下面給出ο(g(n))的定義:

(3) ω記號

正如ο記號提供了乙個函式的漸進上界一樣,ω記號提供了乙個漸進下界。

下面給出ο(g(n))的定義:

(4) ο記號

ο記號提供的漸進上界可能是也可能不是漸進緊確的。因此我們使用ο記號來表示乙個非緊確的漸進上界。定義如下:

ο(g(n)) =

(5) ω記號

同上,我們用ω記號來表示乙個非緊確的漸進下界。形式化的定義是:

ω(g(n)) =

(6) 等式和不等式中的漸進記號

① 對於形如2n²+3n+1 = 2n²+θ(n)的等式的解釋是:2n²+3n+1 = 2n²+f(n),f(n) = θ(n)(f(n)  ∈ θ(n))。

② 對於形如 2n² + θ(n) = θ(n²)的等式的解釋是:無論怎樣選擇等號左邊的匿名函式,總有辦法開選擇等號右邊的匿名函式來使等式成立。

ps:以上內容均摘自《演算法導論》中文譯本。本人只是提取出文中個人認為比較重要的點 加入了一些個人理解僅供參考。

演算法導論 函式的增長。

因為在計算機程式設計的學習中,我們需要掌握乙個類似於 需求量 的東西,怎麼去理解需求量呢,舉個最簡單的例子,你有乙個雙層迴圈,這個雙層迴圈所需要的時間,就是乙個增長量。具體一點可以這麼去解釋這個問題,如果你在乙個迴圈裡面的每乙個步驟所需要的時間都不同的話,那麼 你的需求量就是乙個分布式的增長。我們需...

演算法導論 基礎知識 函式的增長

各種語句和模組分析應遵循的規則 1 賦值語句和讀寫語句 執行時間取 o 1 有函式呼叫的除外,此時要考慮函式的執行時間。2 順序執行語句 執行時間有加法規則確定,即該序列中耗時最多的語句的執行時間。3 條件分支語句 執行時間有條件測試 通常為 o 1 加上分支中執行時間最長的語句的執行時間。4 迴圈...

《演算法導論》筆記 第3章 函式的增長

第3章 函式的增長 漸進記號 記號對任乙個函式f n 若存在正常數c1,c2,使當n充分大時,f n 能被夾在c1g n 和c2g n 中間,則f n 屬於集合 g n 因為 g n 是乙個集合,可以寫成 f n g n 表示f n 是 g n 的元素。g n 的定義需要每個成員f n g n 都是...