开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第3天,点击查看活动详情
一、复杂度函数的阶
我们可以用函数的阶数来形象地描绘函数之间增长快慢的关系。
1.1 同阶函数集合
定义函数f(n)的同阶函数集合Θ(f(n))为:
Θ(f(n))={g(n)∣∃c1,c2>0,n0,∀n>n0,c1f(n)≤g(n)≤c2f(n)}
即:从某一项起,f(n)的线性范围内的函数的集合。

注意:
- g(n)∈Θ(f(n))常记为g(n)=Θ(f(n)),称g(n)与f(n)同阶
定理:
f(n)=Θ(g(n))⇔f(n)=O(g(n))且f(n)=Ω(g(n))
1.2 低阶函数集合
定义函数f(n)的低阶函数集合O(f(n))为:
O(f(n))={g(n)∣∃c>0,n0,∀n>n0,0≤g(n)≤cf(n)}
即:从某一项起,始终小于f(n)的线性倍数的函数的集合。

注意:
- g(n)∈O(f(n))常记为g(n)=O(f(n)),称f(n)是g(n)的上界
1.3 高阶函数集合
定义函数f(n)的高阶函数集合Ω(f(n))为:
Ω(f(n))={g(n)∣∃c>0,n0,∀n>n0,0≤cf(n)≤g(n)}
即:从某一项起,始终大于f(n)的线性倍数的函数的集合。

注意:
- g(n)∈Ω(f(n))常记为g(n)=Ω(f(n)),称f(n)是g(n)的下界
1.4 严格低阶函数集合
定义函数f(n)的严格低阶函数集合o(f(n))为:
o(f(n))={g(n)∣∀c>0,∃n0,0≤g(n)<cf(n)对n≥n0恒成立}
即:对于任意的正实数倍数的f(n),从某一项开始,该函数总在其下方。

注意:
- g(n)∈o(f(n))常记为g(n)=o(f(n)),称f(n)是g(n)的严格上界
定理:
f(n)=o(g(n))⇔n→∞limg(n)f(n)=0
1.5 严格高阶函数集合
定义函数f(n)的严格高阶函数集合ω(f(n))为:
ω(f(n))={g(n)∣∀c>0,∃n0,0≤cf(n)<g(n)对n≥n0恒成立}
即:对于任意的正实数倍数的f(n),从某一项开始,该函数总在其上方。
注意:
- g(n)∈ω(f(n))常记为g(n)=ω(f(n)),称f(n)是g(n)的严格下界
定理:
f(n)=ω(g(n))⇔n→∞limg(n)f(n)=∞
二、函数阶的性质
(1)传递性
f(n)=Θ(g(n))∧g(n)=Θ(h(n))⇒f(n)=Θ(h(n))f(n)=O(g(n))∧g(n)=O(h(n))⇒f(n)=O(h(n))f(n)=Ω(g(n))∧g(n)=Ω(h(n))⇒f(n)=Ω(h(n))f(n)=o(g(n))∧g(n)=o(h(n))⇒f(n)=o(h(n))f(n)=ω(g(n))∧g(n)=ω(h(n))⇒f(n)=ω(h(n))
(2)自反性
f(n)f(n)f(n)=Θ(f(n))=O(f(n))=Ω(f(n))
(3)对称性
f(n)=Θ(g(n))⇔g(n)=Θ(f(n))
(4)反对称性
f(n)=O(g(n))⇔g(n)=Ω(f(n))f(n)=o(g(n))⇔g(n)=ω(f(n))
三、标准符号和通用函数
3.1 Flour和Ceiling
(1)定义
⌊x⌋表示小于等于x的最大整数,⌈x⌉表示大于等于x的最小整数。
(2)定理
① x−1<⌊x⌋≤x≤⌈x⌉<x+1
② ⌊2n⌋+⌈2n⌉=n,∀n∈Z
③ ⌈b⌈an⌉⌉=⌈abn⌉⌊b⌊an⌋⌋=⌊abn⌋,∀a,b,n∈Z,a=0,b=0
3.2 线性和
给出两个定理:
① ∑k=1n(cak+bk)=c∑k=1nak+∑k=1nbk
② ∑k=1nθ(f(k))=θ(∑k=1nf(k))