上界、下界和確界


定義

$O$ 符號

定義:令 $f(n)$ 和 $g(n)$ 是從自然數集到非負實數集的兩個函數,如果存在一個自然數 $n_0$ 和一個常數 $c>0$,使得

$$\forall n \geq n_0,\ f(n) \leq cg(n)$$

稱 $f(n)$ 為 $O(g(n))$.

用極限的判斷方法是:

$\displaystyle \lim_{n \to \infty}\frac{f(n)}{g(n)} \neq \infty$ 蘊含着 $f(n) = O(g(n))$.

$\Omega$ 符號

定義:令 $f(n)$ 和 $g(n)$ 是從自然數集到非負實數集的兩個函數,如果存在一個自然數 $n_0$ 和一個常數 $c>0$,使得

$$\forall n \geq n_0,\ f(n) \geq cg(n)$$

稱 $f(n)$ 為 $\Omega(g(n))$.

$\displaystyle \lim_{n \to \infty}\frac{f(n)}{g(n)} \neq 0$ 蘊含着 $f(n) = \Omega(g(n))$.

$\Theta$ 符號

定義:令 $f(n)$ 和 $g(n)$ 是從自然數集到非負實數集的兩個函數,如果存在一個自然數 $n_0$ 和兩個正個常數 $c_1, c_2$,使得

$$\forall n \geq n_0,\ c_1g(n) \leq g(n) \leq c_2g(n) $$

稱 $f(n)$ 為 $\Theta(g(n))$.

$\displaystyle \lim_{n \to \infty}\frac{f(n)}{g(n)} = c$ 蘊含着 $f(n) = \Theta(g(n))$.

舉例

1、像插入排序這樣的算法,由於運行時間從線性到平方,因此沒有准確界。

2、任一常函數是 $f(n)$ 為 $\Theta(g(n))$.

3、$f(n) = \Theta f(n+1)$?不一定。例如 $2^n$ 滿足,$n!$ 不滿足。

4、求 $f(n) = log(n!)$ 的確界

因為 $log(n!) = \sum_{i=1}^nlog(i)$,顯然 $\sum_{j=1}^nlog(j) \leq \sum_{j=1}^nlog(n)$,即 $\sum_{j=1}^nlog(j) = O(nlogn)$;又 $\sum_{j=1}^nlog(j) \leq \sum_{j=1}^{n/2}log(\frac{n}{2}) = \frac{n}{2}log(\frac{n}{2}) = \frac{n}{2}logn - \frac{n}{2}log2$,那么 $\sum_{j=1}^nlog(j) = \Omega (nlogn)$,因此 $\sum_{j=1}^nlog(j) = \Theta (nlogn)$

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM