渐进记号
渐进记号分为:Θ()、Ω()、ω()、O()、o()
1. Θ记号
f ( n ) = Θ ( g ( n ) ) f(n) = \Theta(g(n)) f(n)=Θ(g(n))
存
在
正
常
数
C
1
,
C
2
和
n
0
,
使
得
对
所
有
的
n
≥
n
0
,
存在正常数C_1,C_2和n_0,使得对所有的n \ge n_0,
存在正常数C1,C2和n0,使得对所有的n≥n0,
都
有
0
≤
C
1
∗
g
(
n
)
≤
f
(
n
)
≤
C
2
∗
g
(
n
)
,
f
(
n
)
与
g
(
n
)
在
数
量
级
上
相
等
都有0 \le C_1*g(n) \le f(n)\le C_2*g(n),f(n)与g(n)在数量级上相等
都有0≤C1∗g(n)≤f(n)≤C2∗g(n),f(n)与g(n)在数量级上相等
我
们
试
着
证
明
:
我们试着证明:
我们试着证明:
1
2
n
2
−
3
n
=
θ
(
n
2
)
\frac12n^2 - 3n = \theta(n^2)
21n2−3n=θ(n2)
第
一
步
,
我
们
必
须
确
定
有
第一步,我们必须确定有
第一步,我们必须确定有
C
1
n
2
≤
1
2
n
2
−
3
n
≤
C
2
n
2
C_1n^2\le\frac12n^2-3n\le C_2n^2
C1n2≤21n2−3n≤C2n2
第
二
步
,
我
们
将
两
边
除
以
n
2
第二步,我们将两边除以n^2
第二步,我们将两边除以n2
C
1
≤
1
2
−
3
n
≤
C
2
C_1\le \frac12 - \frac3n\le C_2
C1≤21−n3≤C2
C
2
≥
1
/
2
可
以
使
任
意
n
≥
1
,
不
等
式
右
边
成
立
C_2\ge1/2可以使任意n\ge1,不等式右边成立
C2≥1/2可以使任意n≥1,不等式右边成立
C
1
≤
1
/
14
可
以
使
任
意
n
≥
7
,
不
等
式
左
边
成
立
C_1\le1/14可以使任意n\ge7,不等式左边成立
C1≤1/14可以使任意n≥7,不等式左边成立
2. O记号
f ( n ) = O ( g ( n ) ) f(n) = O(g(n)) f(n)=O(g(n))
存
在
正
常
数
C
,
n
0
,
使
得
对
所
有
的
n
≥
n
0
,
都
有
0
≤
f
(
n
)
≤
C
∗
g
(
n
)
存在正常数C,n_0, 使得对所有的n\ge n_0, 都有0\le f(n) \le C * g(n)
存在正常数C,n0,使得对所有的n≥n0,都有0≤f(n)≤C∗g(n)
f
(
n
)
在
数
量
级
小
于
等
于
g
(
n
)
f(n)在数量级小于等于g(n)
f(n)在数量级小于等于g(n)
3. o记号
f ( n ) = o ( g ( n ) ) f(n) = o(g(n)) f(n)=o(g(n))
存 在 正 常 数 C , n 0 , 使 得 对 所 有 的 n ≥ n 0 , 都 有 0 ≤ f ( n ) < c ∗ g ( n ) ; f ( n ) 在 数 量 级 小 于 g ( n ) 存在正常数C,n_0, 使得对所有的n\ge n_0, 都有0\le f(n) \lt c * g(n);f(n)在数量级小于g(n) 存在正常数C,n0,使得对所有的n≥n0,都有0≤f(n)<c∗g(n);f(n)在数量级小于g(n)
e.g.: 2 n = ο ( n 2 ) ; 2 n 2 ≠ o ( n 2 ) 2n = \omicron(n^2);2n ^2 \neq o(n ^2) 2n=ο(n2);2n2=o(n2)
4. Ω记号
f ( n ) = Ω ( g ( n ) ) f(n) = Ω(g(n)) f(n)=Ω(g(n))
存 在 正 常 数 C , n 0 , 使 得 对 所 有 的 n ≥ n 0 , 都 有 0 ≤ C ∗ g ( n ) ≤ f ( n ) ; f ( n ) 在 数 量 级 大 于 等 于 g ( n ) 存在正常数C,n_0, 使得对所有的n\ge n_0, 都有 0 \le C * g(n) \le f(n); f(n)在数量级大于等于g(n) 存在正常数C,n0,使得对所有的n≥n0,都有0≤C∗g(n)≤f(n);f(n)在数量级大于等于g(n)
5. ω记号
f ( n ) = ω ( g ( n ) ) f(n) = ω(g(n)) f(n)=ω(g(n))
存 在 正 常 数 C , n 0 , 使 得 对 所 有 的 n ≥ n 0 , 都 有 0 ≤ c ∗ g ( n ) < f ( n ) ; f ( n ) 在 数 量 级 大 于 g ( n ) 存在正常数C,n_0, 使得对所有的n\ge n0, 都有 0 \le c * g(n) \lt f(n); f(n)在数量级大于g(n) 存在正常数C,n0,使得对所有的n≥n0,都有0≤c∗g(n)<f(n);f(n)在数量级大于g(n)
性质
- 传递性
- 自反性
- 对称性
- 转置对称性