标签:play 举例 splay 上界 排序 下界 运行 运行时 函数
$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)$
标签:play 举例 splay 上界 排序 下界 运行 运行时 函数
原文地址:https://www.cnblogs.com/lfri/p/11631687.html