例如,证明1/2n2-3n=θ(n2): c1n2<=1/2n2-3n<=c2n2 c1<=1/2-3/n<=c2 对于∀n>=1,c2>=1/2,且对于∀n>=7,c1<=1/14 因此c1=1/14,c2=1/2,n0=7
例如,证明2n=o(n2): 对∀c>0,要使2n<cn2,必要满足2/c<n。 ∴n0=2/c时,2n<cn2对∀c>0,n>n0成立
o标记用于标记上界但不是紧的情况f(n)=o(g(n)) => limn->∞f(n)/g(n)=0SUMMURY 传递性:θ O Ω o w (对同一种符号) 自反性:θ O Ω f(n)=θ(f(n)) 对称性:θ f(n)=θ(g(n)) <=> g(n)=θ(f(n)) 反对称性: f(n)=w(g(n)) <=> g(n)=o(f(n)) f(n)=Ω(g(n)) <=> g(n)=O(f(n))
1)替换:先猜想,再用数归
例如,求解2T(n/2+17)+n 猜测T(n)=O(nlgn),证明**(数归)**
2)迭代:转化成和式,估计和
令n/4i=1,∴i=log4n T(n)=
3)master定理:T(n)=aT(n/b)+f(n)
设常数a>=1,b>1,函数f(n),T(n)是定义在非负整数集上的函数T(n)=aT(n/b)+f(n)。T(n)可以如下求解: 红色部分无法受用master定理
例如,求解T(n)=9T(n/3)+n 解:a=9,b=3,f(n)=n,nlogb(a)=θ(n2) ∵f(n)=n=O(nlogb(a)-ε),ε=1 ∴T(n)=θ(nlogb(a))=θ(n2)
再例,求解T(n)=T(2n/3)+1 解:a=1,b=3/2,f(n)=1,nlogb(a)=θ(nlog3/2(1))=n0=1 f(n)=1=θ(1)=θ(nlogb(a)),T(n)=θ(nlogb(a)·lgn)=θ(lgn)
再例,求解T(n)=3T(n/4)+nlgn 解:a=3,b=4,f(n)=nlgn,nlogb(a)=O(n0.973) 1)f(n)=nlgn>=n=nlogb(a)-ε,ε≈0.2 2)对所有n,af(n/b)=3*(n/4)lg(n/4)=(3/4)nlg(n/4)<=(3/4)nlgn=cf(n),c=3/4。于是T(n)=θ(f(n))=θ(nlgn)