作者:劉子韜
本文不區分 log 和 lg,均指以 2 為底對數。所有符號描述函數增長階而非具體值。
定義:O(g(n)) = { f(n) : ∃ 正常數 c, n₀, ∀ n > n₀, 0 ≤ f(n) ≤ c·g(n) }
含義:g(n) 是 f(n) 的漸近上界。f(n) = O(g(n)) 實際表示 f(n) ∈ O(g(n))。

定義:Ω(g(n)) = { f(n) : ∃ 正常數 c, n₀, ∀ n > n₀, 0 ≤ c·g(n) ≤ f(n) }
含義:g(n) 是 f(n) 的漸近下界。
定義:Θ(g(n)) = { f(n) : ∃ 正常數 c₁, c₂, n₀, ∀ n > n₀, c₁·g(n) ≤ f(n) ≤ c₂·g(n) }
含義:f(n) 同階於 g(n),上下界同階。

定義:o(g(n)) = { f(n) : ∀ 正常數 c, ∃ n₀, ∀ n > n₀, 0 ≤ f(n) < c·g(n) }
關鍵差異:大 O 要求「存在某個 c」,小 o 要求「對任意 c 都成立」。即 f(n) 增長嚴格慢於 g(n)。
極限視角:limn→∞ f(n)/g(n) = 0 ⇔ f(n) = o(g(n))
定義:ω(g(n)) = { f(n) : ∀ 正常數 c, ∃ n₀, ∀ n > n₀, 0 ≤ c·g(n) < f(n) }
極限視角:limn→∞ f(n)/g(n) = ∞ ⇔ f(n) = ω(g(n))


漸近符號是算法分析的語言。大 O/Ω/Θ 刻畫上下緊確界,小 o/ω 刻畫非緊確界。極限定義提供直觀判斷工具。熟練掌握定義、圖形含義、極限關係與常用公式,是算法分析基本功。