您的位置:首页 > 其它

CLRS 3.1渐进记号

2015-08-06 13:05 190 查看
3.1-1

设 ∃n1,n2:f(n)≥0g(n)≥0for n>n1for n>n2\begin{align} \exists n_1,n_2: &f(n) \geq 0 &\text{for } n>n_1\\&g(n)\geq 0 &\text{for }n>n_2\end{align}

设 n0=max(n1,n2)n_0=max(n_1,n_2),则对 n>n0:n>n_0:

f(n)≤max(f(n),g(n))g(n)≤max(f(n),g(n))(f(n)+g(n))/2≤max(f(n),g(n))max(f(n),g(n))≤f(n)+g(n)f(n)\leq \max(f(n),g(n))\\g(n)\leq max(f(n),g(n))\\ \big(f(n)+g(n)\big)/2\leq \max(f(n),g(n))\\ \max(f(n),g(n))\leq f(n)+g(n)

根据 Θ\Theta 的定义以及上式我们知,∃c1=12,c2=1\exists c_1=\frac{1}{2},c_2=10≤12(f(n)+g(n))≤max(f(n),g(n))≤f(n)+g(n)for n>n0 0\leq \frac{1}{2} \big(f(n)+g(n)\big)\leq max(f(n),g(n))\leq f(n)+g(n) \quad \text{for }n>n_0

得证。

3.1-2

将此式二项式展开有 (n+a)b=(n0)nb+(n1)nb−1b+⋯+(nn)n0bn(n+a)^{b}=\binom{n}{0}n^{b}+\binom{n}{1}n^{b-1}b+\dots + \binom{n}{n}n^{0}b^{n},舍掉低阶项即可。

3.1-3

OO表示一个上界,“至少”又意味着一个下界。

3.1-4

第一个成立,我们选择一个大于等于 22 的常数即可使得等式成立;

第二个不成立,因为 ∄c:2n⋅2n≤c⋅2n\not \exists c:2^{n}·2^{n}\leq c·2^{n}。

3.1-5

若 f(n)=Θ(g(n))f(n)=\Theta(g(n)),根据定义我们有:0≤c1g(n)≤f(n)≤c2g(n)for n>n00 \leq c_1g(n)\leq f(n)\leq c_2g(n)\quad \text{for }n>n_0

我们选择此时的 c1,c2c_1,c_2 即可得到 f(n)=O(g(n)),f(n)=Ω(f(n))f(n)=O(g(n)),f(n)=\Omega (f(n))。

反之,若 f(n)=O(g(n)),f(n)=Ω(f(n))f(n)=O(g(n)),f(n)=\Omega (f(n)),根据定义则有:

0≤c3g(n)≤f(n)for n>n10≤f(n)≤c4g(n)for n>n20\leq c_3 g(n)\leq f(n) \quad \text{for } n > n_1 \\0 \leq f(n)\leq c_4g(n)\quad \text{for }n>n_2

设 n3=max(n1,n2)n_3=max(n_1,n_2),则对 n>n3:n>n_3: 0≤c3g(n)≤f(n)≤c4g(n)for n>n40\leq c_3g(n)\leq f(n)\leq c_4g(n)\quad \text{for }n>n_4

即得证。

3.1-6

设 Tb,TwT_b,T_w 分别表示最好和最坏运行时间,由题得:

0≤Tw≤c1g(n)for n>n10≤c2g(n)≤Tbfor n>n20\leq T_w\leq c_1g(n)\quad \text{for }n>n_1\\0\leq c_2g(n)\leq T_b\quad \text{for }n>n_2

所以得到 0≤c2g(n)≤Tb≤Tw≤c1g(n)for n>n00\leq c_2g(n)\leq T_b\leq T_w\leq c_1g(n)\quad \text{for }n>n_0其中,n0=max(n1,n2)n_0=max(n_1,n_2),另外 TbT_b 的运行时间肯定小于 TwT_w。这样就得证明。

3.1-7

对任意的正数c>0c>0有:

0≤f(n)<cg(n)for n>n10≤cg(n)<f(n)for n>n20\leq f(n)n_1\\0\leq cg(n)n_2

令 n0=max(n1,n2)n_0=max(n_1,n_2) 有:f(n)<cg(n)<f(n)f(n),显然矛盾,所以交集为空。

3.1-8

Ω(g(n,m))={f(n,m):存在正常量c,n0和m0,使得对所有n≥n0或m≥m0,有0≤cg(n,m)≤f(n,m)}\Omega (g(n,m))=\{f(n,m):存在正常量c,n_0和m_0,使得对所有n\geq n_0或m\geq m_0,有0\leq cg(n,m)\leq f(n,m)\}

Θ(g(n,m)={f(n,m):存在正常量c1,c2,n0和m0,使得对所有n≥n0或m≥m0,有0≤c1g(n,m)≤f(n,m)≤c2g(n,m)})\Theta(g(n,m)=\{f(n,m):存在正常量c_1,c_2,n_0和m_0,使得对所有n\geq n_0或m\geq m_0,有0\leq c_1g(n,m)\leq f(n,m)\leq c_2g(n,m)\})
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: