简单的例题
10 位,可以表示 1024 个编号,分别是 00 0000 0000B
到 11 1111 1111B
1024 > 1000
0
号喝 1x xxxx xxxx
1
号喝 x1 xxxx xxxx
- …
9
号喝 xx xxxx xxx1
时间复杂度
渐近上界记号 O
O(g(n))={f(n)∣∃c,n0>0,s.t.∀n⩾n0,0⩽f(n)⩽cg(n)}
- 100n2∈O(n2)
- n/2∈O(n2)
非渐近紧确上界记号 o
o(g(n))={f(n)∣∀c>0,∃n0>0,s.t.∀n⩾n0,0⩽f(n)<cg(n)}
n→∞limg(n)f(n)=0
渐近下界记号 Ω
Ω(g(n))={f(n)∣∃c,n0>0,s.t.∀n⩾n0,0⩽cg(n)⩽f(n)}
- 100n2∈Ω(n2)
- n2/2∈Ω(n)
非渐近紧确下界渐近记号 ω
ω(g(n))={f(n)∣∀c>0,∃n0>0,s.t.∀n⩾n0,0⩽cg(n)<f(n)}
n→∞limg(n)f(n)=∞
f(n)∈ω(g(n))⟺g(n)∈o(f(n))
渐近紧确界记号 Θ
Θ(g(n))={f(n)∣∃c1,c2,n0>0,∀n⩾n0,0⩽c1g(n)⩽f(n)⩽c2g(n)}
- n2/2−2n∈Θ(n2)
f(n)∈Θ(g(n))⟺f(n)∈O(g(n)) and f(n)∈Ω(g(n))
复杂度的排序
1≺loglogn≺logn≺n≺n3/4≺nlogn≺n2≺2n≺n!≺2n2
渐近符号 | 算数符号 |
---|
O | ⩽ |
Ω | ⩾ |
Θ | = |
o | < |
ω | > |