第二章:函数的增长
2.1渐近记号
Θ-记号
定义:Θ(g(n))={f(n):存在正常数c1,c2和n0,使对所有n≥n0,有0≤c1*g(n)≤f(n)≤c2*g(n)};
满足该定义,则说g(n)是f(n)的一个渐近确界;
Θ(g(n))的定义要求其每个元素渐近非负,即当n充分大时f(n)非负。
Ο-记号
定义:Ο(g(n))={f(n):存在正常数c和n0,使对所有n≥n0,有0≤f(n)≤c*g(n)};
满足该定义,则说g(n)是f(n)的一个渐近上界;
Ο(g(n))的定义要求其每个元素渐近非负,即当n充分大时f(n)非负。
Ω-记号
定义:Ω(g(n))={f(n):存在正常数c和n0,使对所有n≥n0,有0≤c*g(n)≤f(n)};
满足该定义,则说g(n)是f(n)的一个渐近下界;
Ω(g(n))的定义要求其每个元素渐近非负,即当n充分大时f(n)非负。
方程中渐近记号
当一个渐近记号出现在一个公式中时,我们将其解释为代表某些匿名函数;
如:2*n^2+3*n+1=2*n^2+Θ(n)其中的Θ(n)代表前面的3*n+1,是一个线性函数;
ο-记号
定义:ο(g(n))={f(n):对任意c>0,存在常数n0>0,使得对所有n>n0,有0≤f(n)<c*g(n)}
ο(g(n))表示非渐近紧确的上界;
Ο(g(n))表示的可以是,也可以不是紧确上界;
和Ο(g(n))的区别在于Ο(g(n))是存在c>0,而ο(g(n))是对任意c>0,
也就是说:当n→∞时,f(n)相对g(n)无穷小;
ω-记号
定义1:ω(g(n))={f(n):对任意c>0,存在常数n0>0,使得对所有n>n0,有0≤c*g(n)<f(n)}
定义2:f(n)∈ω(g(n))当且仅当g(n)∈ο(f(n))
ω(g(n))表示非渐近紧确的下界;
Ω(g(n))表示的可以是,也可以不是紧确下界;
和Ω(g(n))的区别在于Ω(g(n))是存在c>0,而ω(g(n))是对任意c>0,
也就是说:当n→∞时,f(n)相对g(n)无穷大;
不同函数间的比较
传递性:
f(n)=Θ(g(n)) 和 g(n)=Θ(h(n)) 蕴含f(n)=Θ(h(n))
f(n)=Ο(g(n)) 和 g(n)=Ο(h(n)) 蕴含f(n)=Ο(h(n))
f(n)=Ω(g(n)) 和 g(n)=Ω(h(n)) 蕴含f(n)=Ω(h(n))
f(n)=ο(g(n)) 和 g(n)=ο(h(n)) 蕴含f(n)=ο(h(n))
f(n)=ω(g(n)) 和 g(n)=ω(h(n)) 蕴含f(n)=ω(h(n))
自返性:
f(n)=Θ(f(n))
f(n)=Ο(f(n))
f(n)=Ω(f(n))
对称性:
f(n)=Θ(g(n)) 当且仅当 g(n)=Θ(f(n))
置换对称性:
f(n)=Θ(g(n)) ≈ =
f(n)=Ο(g(n)) ≈ ≤
f(n)=Ω(g(n)) ≈ ≥
f(n)=ο(g(n)) ≈ <
f(n)=ω(g(n)) ≈ >