Part I. Foundations
Chapter 3. Growth of Functions
3.2 标准记号和常用函数
单调性(monotonicity)
函数
f
(
n
)
f(n)
f(n) 单调递增(monotonically increasing):
m
≤
n
⇒
f
(
m
)
≤
f
(
n
)
m \le n \Rightarrow f(m) \le f(n)
m≤n⇒f(m)≤f(n)。
函数
f
(
n
)
f(n)
f(n) 单调递减(monotonically decreasing):
m
≤
n
⇒
f
(
m
)
≥
f
(
n
)
m \le n \Rightarrow f(m) \ge f(n)
m≤n⇒f(m)≥f(n)。
函数
f
(
n
)
f(n)
f(n) 严格递增(strictly increasing):
m
<
n
⇒
f
(
m
)
<
f
(
n
)
m < n \Rightarrow f(m) < f(n)
m<n⇒f(m)<f(n)。
函数
f
(
n
)
f(n)
f(n) 严格递增(strictly decreasing):
m
<
n
⇒
f
(
m
)
>
f
(
n
)
m < n \Rightarrow f(m) > f(n)
m<n⇒f(m)>f(n)。
下取整(floor)和上取整(ceiling)
对于任何实数
x
x
x,我们用
⌊
x
⌋
\lfloor x \rfloor
⌊x⌋(读作“
x
x
x 的下取整”)表示小于或等于
x
x
x 的最大整数,用
⌈
x
⌉
\lceil x \rceil
⌈x⌉(读作“
x
x
x的上取整”)表示大于或等于
x
x
x 的最小整数。 对于所有实数
x
x
x,有
x
−
1
<
⌊
x
⌋
≤
x
≤
⌈
x
⌉
<
x
+
1
x-1 < \lfloor x \rfloor \le x \le \lceil x \rceil < x+1
x−1<⌊x⌋≤x≤⌈x⌉<x+1。 (3.3)
对于任何整数
n
n
n,有
⌊
n
/
2
⌋
+
⌈
n
/
2
⌉
=
n
\lfloor n/2 \rfloor + \lceil n/2 \rceil = n
⌊n/2⌋+⌈n/2⌉=n。
对任意实数
x
≥
0
x \ge 0
x≥0 和整数
a
,
b
>
0
a,b > 0
a,b>0,
⌈
⌈
x
/
a
⌉
b
⌉
=
⌈
x
a
b
⌉
\lceil \frac{\lceil x/a \rceil}{b} \rceil = \lceil \frac {x} {ab} \rceil
⌈b⌈x/a⌉⌉=⌈abx⌉, (3.4)
⌊
⌊
x
/
a
⌋
b
⌋
=
⌊
x
a
b
⌋
\lfloor \frac{\lfloor x/a \rfloor}{b} \rfloor = \lfloor \frac {x} {ab} \rfloor
⌊b⌊x/a⌋⌋=⌊abx⌋, (3.5)
⌈
a
b
⌉
≤
a
+
(
b
−
1
)
b
\lceil \frac{a}{b} \rceil \le \frac {a+(b-1)} {b}
⌈ba⌉≤ba+(b−1), (3.6)
⌊
a
b
⌋
≥
a
−
(
b
−
1
)
b
\lfloor \frac{a}{b} \rfloor \ge \frac {a-(b-1)} {b}
⌊ba⌋≥ba−(b−1)。 (3.7)
函数
f
(
x
)
=
⌊
x
⌋
f(x) = \lfloor x \rfloor
f(x)=⌊x⌋ 单调递增,函数
f
(
x
)
=
⌈
x
⌉
f(x) = \lceil x \rceil
f(x)=⌈x⌉ 单调递增。
取模运算(modular arithmetic)
对于任意整数
a
a
a 和任意正整数
n
n
n,
a
m
o
d
n
a \mod n
amodn 的值是商
a
/
n
a/n
a/n 的余数(remainder / residue):
a
m
o
d
n
=
a
−
n
⌊
a
/
n
⌋
a \mod n = a - n \lfloor a/n \rfloor
amodn=a−n⌊a/n⌋。 (3.8)
由此得出
0
≤
a
m
o
d
n
<
n
0 \le a \mod n < n
0≤amodn<n。 (3.9)
如果
(
a
m
o
d
n
)
=
(
b
m
o
d
n
)
(a \mod n) = (b \mod n)
(amodn)=(bmodn),那么可以写作
a
≡
b
a \equiv b
a≡b (
m
o
d
n
)
\mod n)
modn),称在模
n
n
n 时,
a
a
a 等于
b
b
b。
a
≡
b
a \equiv b
a≡b (
m
o
d
n
)
\mod n)
modn) 当且仅当
n
n
n 是
b
−
a
b-a
b−a 的约数。
如果模数为
n
n
n 时
a
a
a 不等于
b
b
b,那么写作
a
≢
b
a \not \equiv b
a≡b (
m
o
d
n
)
\mod n)
modn)。
多项式(polynomial)
给定一个非负整数
d
d
d,
n
n
n 的
d
d
d 次多项式(polynomial in n of degree d)是具有以下形式的函数
p
(
n
)
p(n)
p(n):
p
(
n
)
=
∑
i
=
0
d
a
i
n
i
p(n) = \sum_{i=0}^{d} a_in^i
p(n)=∑i=0daini,
其中常数
a
0
,
a
1
,
…
,
a
d
a_0,a_1,\dots,a_d
a0,a1,…,ad 是多项式的系数(coefficients),且
a
d
≠
0
a_d \ne 0
ad=0。
一个多项式是渐近正的,当且仅当
a
d
>
0
a_d> 0
ad>0。
对于一个
d
d
d 次的渐近正多项式
p
(
n
)
p(n)
p(n),有
p
(
n
)
=
Θ
(
n
d
)
p(n) = \Theta(n^d)
p(n)=Θ(nd)。
对于任意实常数
a
≥
0
a \ge 0
a≥0,函数
n
a
n^a
na 单调递增;对于任意实常数
a
≤
0
a \le 0
a≤0,函数
n
a
n^a
na 单调递减。
若对于某个常数
k
k
k 有
f
(
n
)
=
O
(
n
k
)
f(n) = O(n^k)
f(n)=O(nk),则函数
f
(
n
)
f(n)
f(n) 是多项式有界的(polynomially bounded)。
指数(exponential)
对任意实数
a
>
0
a>0
a>0,
m
m
m 和
n
n
n,有下列恒等式:
a
0
=
1
a^0=1
a0=1,
a
1
=
a
a^1=a
a1=a,
a
−
1
=
1
/
a
a^{-1}=1/a
a−1=1/a,
(
a
m
)
n
=
a
m
n
(a^{m})^{n}=a^{mn}
(am)n=amn,
(
a
m
)
n
=
(
a
n
)
m
(a^{m})^{n}=(a^{n})^{m}
(am)n=(an)m,
a
m
a
n
=
a
m
+
n
a^{m}a^{n}=a^{m+n}
aman=am+n。
对任意
n
n
n 和
a
≥
1
a \ge 1
a≥1,函数
a
n
a^n
an 关于
n
n
n 单调递增。
方便的情况下,假设
0
0
=
1
0^0=1
00=1。
对任意实数
a
a
a 和
b
b
b,且
a
>
1
a>1
a>1,有
lim
n
→
∞
n
b
a
n
=
0
\lim_{n\to\infty} \frac{n^b}{a^n} = 0
limn→∞annb=0, (3.10)
根据此式,得
n
b
=
o
(
a
n
)
n^b = o(a^n)
nb=o(an)。
因此,任何底数大于 1 的指数函数比任何多项式函数增长地更快。
用
e
e
e 表示自然对数函数的底数 2.71828…,对于所有实数
x
x
x,
e
x
=
1
+
x
+
x
2
2
!
+
x
3
3
!
+
⋯
=
∑
i
=
0
∞
x
i
i
!
e^x = 1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+ \cdots = \sum_{i=0}^{\infty} \frac{x^i}{i!}
ex=1+x+2!x2+3!x3+⋯=∑i=0∞i!xi。 (3.11)
对于任意实数
x
x
x,有不等式
e
x
≥
1
+
x
e^x \ge 1+x
ex≥1+x, (3.12)
只有当
x
=
0
x=0
x=0 时,等号才成立。
当
∣
x
∣
≤
1
|x| \le 1
∣x∣≤1 时,有近似式
1
+
x
≤
e
x
≤
1
+
x
+
x
2
1+x \le e^x \le 1+x+x^2
1+x≤ex≤1+x+x2。 (3.13)
当
x
→
0
x \to 0
x→0 时,用
1
+
x
1+x
1+x 来近似
e
x
e^x
ex 的效果相当好:
e
x
=
1
+
x
+
Θ
(
x
2
)
e^x = 1+x+\Theta(x^2)
ex=1+x+Θ(x2)。
对任意的
x
x
x,有
lim
n
→
∞
(
1
+
x
n
)
n
=
e
x
\lim_{n\to\infty} (1 + \frac{x}{n})^n = e^x
limn→∞(1+nx)n=ex。 (3.14)
对数(logarithm)
我们将用到下列记号:
lg
n
=
log
2
n
\lg n = \log_2 n
lgn=log2n(以 2 为底的对数:binary logarithm),
ln
n
=
log
e
n
\ln n = \log_e n
lnn=logen(自然对数:natural logarithm),
lg
k
n
=
(
lg
n
)
k
\lg^k n = (\lg n)^k
lgkn=(lgn)k(取幂:exponentiation),
lg
lg
n
=
lg
(
lg
n
)
\lg \lg n = \lg(\lg n)
lglgn=lg(lgn)(复合:composition)。
我们将采用一个重要的记号约定:对数函数仅作用于函数的下一项。因此,
lg
n
+
k
\lg n+k
lgn+k 表示
(
lg
n
)
+
k
(\lg n)+k
(lgn)+k。
如果常数
b
>
1
b>1
b>1,那么函数
log
b
n
\log_b n
logbn 关于
n
>
0
n>0
n>0 严格递增。
对任意实数
a
>
0
a>0
a>0,
b
>
0
b>0
b>0,
c
>
0
c>0
c>0 和
n
n
n,
a
=
b
log
b
a
a = b^{\log_b a}
a=blogba,
log
c
(
a
b
)
=
log
c
a
+
log
c
b
\log_c (ab) = \log_c a + \log_c b
logc(ab)=logca+logcb,
log
b
a
n
=
n
log
b
a
\log_b a^n = n\log_b a
logban=nlogba,
log
b
a
=
log
c
a
log
c
b
\log_b a = \frac{\log_c a}{\log_c b}
logba=logcblogca, (3.15)
log
b
1
/
a
=
−
log
b
a
\log_b 1/a = -\log_b a
logb1/a=−logba,
log
b
a
=
1
log
a
b
\log_b a = \frac {1}{\log_a b}
logba=logab1,
a
log
b
c
=
c
log
b
a
a^{\log_b c} = c^{\log_b a}
alogbc=clogba, (3.16)
在上面的每个公式中,对数的底数不为 1。
当
∣
x
∣
<
1
|x| < 1
∣x∣<1 时,
ln
(
1
+
x
)
\ln(1+x)
ln(1+x) 的简单级数展开为:
ln
(
1
+
x
)
=
x
−
x
2
2
+
x
3
3
−
x
4
4
+
x
5
5
−
⋯
\ln(1+x) = x - \frac{x^2}{2} + \frac{x^3}{3} - \frac{x^4}{4} + \frac{x^5}{5} - \cdots
ln(1+x)=x−2x2+3x3−4x4+5x5−⋯。
当
x
>
−
1
x>-1
x>−1 时,有
x
1
+
x
≤
ln
(
1
+
x
)
≤
x
\frac{x}{1+x} \le \ln(1+x) \le x
1+xx≤ln(1+x)≤x, (3.17)
只有当
x
=
0
x=0
x=0 时,等号成立。
若对常数
k
k
k,有
f
(
n
)
=
O
(
lg
k
n
)
f(n) = O(\lg^k n)
f(n)=O(lgkn),则称函数
f
(
n
)
f(n)
f(n) 是多项对数有界的(polylogarithmically bounded)。
在公式 (3.10) 中,用
lg
n
\lg n
lgn 代替
n
n
n,用
2
a
2^a
2a 代替
a
a
a,将多项式的增长率与多项对数的增长率联系起来:
lim
n
→
∞
lg
b
n
(
2
a
)
lg
n
=
lim
n
→
∞
lg
b
n
n
a
=
0
\lim_{n\to\infty} \frac{\lg^b n}{(2^a)^{\lg n}} = \lim_{n\to\infty} \frac{\lg^b n}{n^a} = 0
limn→∞(2a)lgnlgbn=limn→∞nalgbn=0。
由此极限式,得出结论:对于任意常数
a
>
0
a>0
a>0,有
lg
b
n
=
o
(
n
a
)
\lg^b n = o(n^a)
lgbn=o(na)。
因此,任意正的多项式函数比多项对数函数增长地快。
阶乘(factorial)
n
!
=
{
1
i
f
n
=
0
n
⋅
(
n
−
1
)
!
i
f
n
>
0
n!=\left\{ \begin{array}{rcl} 1 & & {\mathrm{if} \ n=0} \\n\cdot (n-1)! & & \mathrm{if} \ n>0 \end{array} \right.
n!={1n⋅(n−1)!if n=0if n>0
阶乘函数的一个弱上界是
n
!
≤
n
n
n! \le n^n
n!≤nn。
斯特林近似公式(Stirling’s approximation):
n
!
=
2
π
n
(
n
e
)
n
(
1
+
Θ
(
1
n
)
)
n! = \sqrt{2 \pi n}(\frac{n}{e})^n(1+\Theta(\frac{1}{n}))
n!=2πn(en)n(1+Θ(n1)), (3.18)
给出了更紧确的上界和下界。
斯特林近似公式有助于证明公式
lg
(
n
!
)
=
Θ
(
n
lg
n
)
\lg (n!) = \Theta(n\lg n)
lg(n!)=Θ(nlgn)。 (3.19)
对于所有
n
≥
1
n \ge 1
n≥1,有
n
!
=
2
π
n
(
n
e
)
n
e
α
n
n! = \sqrt{2 \pi n}(\frac{n}{e})^n e^{\alpha_n}
n!=2πn(en)neαn, (3.20)
其中,
1
12
n
+
1
≤
α
n
≤
1
12
n
\frac{1}{12n+1} \le \alpha_n \le \frac{1}{12n}
12n+11≤αn≤12n1。 (3.21)
函数迭代(functional iteration)
用记号
f
(
i
)
(
n
)
f^{(i)}(n)
f(i)(n) 表示函数
f
(
n
)
f(n)
f(n) 重复
i
i
i 次作用于一个初始值
n
n
n 上。
f
(
i
)
(
n
)
=
{
n
i
f
i
=
0
f
(
f
(
i
−
1
)
(
n
)
)
i
f
i
>
0
f^{(i)}(n)=\left\{\begin{array}{rcl} n & & \mathrm{if} \ i=0 \\f(f^{(i-1)}(n)) && \mathrm{if} \ i>0 \end{array}\right.
f(i)(n)={nf(f(i−1)(n))if i=0if i>0
例如,如果
f
(
n
)
=
2
n
f(n)=2n
f(n)=2n,那么
f
(
i
)
(
n
)
=
2
i
n
f^{(i)}(n) = 2^i n
f(i)(n)=2in。
多重对数函数(the iterated logarithm function)
定义:
lg
∗
n
=
min
{
i
≥
0
:
lg
(
i
)
n
≤
1
}
\lg^* n = \min \{ i\ge0:\lg^{(i)} n \le 1 \}
lg∗n=min{i≥0:lg(i)n≤1}。
多重对数是一种增长很慢的函数:
lg
∗
2
=
1
\lg^* 2 = 1
lg∗2=1,
lg
∗
4
=
2
\lg^* 4=2
lg∗4=2,
lg
∗
16
=
3
\lg^* 16 = 3
lg∗16=3,
lg
∗
65536
=
4
\lg^* 65536 = 4
lg∗65536=4,
lg
∗
(
2
65536
)
=
5
\lg^*(2^{65536}) = 5
lg∗(265536)=5。
斐波那契数列(Fibonacci numbers)
递归地定义:
F
0
=
0
F_0 = 0
F0=0,
F
1
=
1
F_1 = 1
F1=1, (3.22)
F
i
=
F
i
−
1
+
F
i
−
2
F_i = F_{i-1} + F_{i-2}
Fi=Fi−1+Fi−2 当
i
≥
2
i \ge 2
i≥2 时。
斐波那契数与黄金分割率(golden ratio)
ϕ
\phi
ϕ 及其共轭(conjugate)
ϕ
^
\widehat\phi
ϕ
相关,是下面方程的两个根:
x
2
=
x
+
1
x^2 = x +1
x2=x+1, (3.23)
ϕ
=
1
+
5
2
=
1.61803...
\phi = \frac{1+\sqrt{5}}{2} = 1.61803...
ϕ=21+5=1.61803..., (3.24)
ϕ
^
=
1
−
5
2
=
−
0.61803...
\widehat{\phi} = \frac{1-\sqrt{5}}{2} = -0.61803...
ϕ
=21−5=−0.61803...。
特别地,有
F
i
=
ϕ
i
−
ϕ
^
i
5
F_i = \frac{\phi^i - \widehat\phi^i}{\sqrt5}
Fi=5ϕi−ϕ
i,可以用归纳法证明。
因为
∣
ϕ
^
∣
<
1
|\widehat\phi| < 1
∣ϕ
∣<1,有
∣
ϕ
^
i
∣
5
<
1
5
<
1
2
\frac{|\widehat\phi^i|}{\sqrt5} < \frac{1}{\sqrt5} < \frac{1}{2}
5∣ϕ
i∣<51<21,
推出
F
i
=
⌊
ϕ
i
5
+
1
2
⌋
F_i = \lfloor \frac{\phi^i}{\sqrt5} + \frac{1}{2} \rfloor
Fi=⌊5ϕi+21⌋, (3.25)
也就是说,第
i
i
i 个斐波那契数
F
i
F_i
Fi 等于
ϕ
i
/
5
\phi^i / \sqrt5
ϕi/5 四舍五入后的整数 。
因此,斐波那契数呈指数增长。
练习
3.2-1 证明:如果
f
(
n
)
f(n)
f(n) 和
g
(
n
)
g(n)
g(n) 是单调递增函数,那么函数
f
(
n
)
+
g
(
n
)
f(n)+g(n)
f(n)+g(n) 和
f
(
g
(
n
)
)
f(g(n))
f(g(n)) 同样是单调递增函数;另外,如果
f
(
n
)
f(n)
f(n) 和
g
(
n
)
g(n)
g(n) 非负,那么
f
(
n
)
⋅
g
(
n
)
f(n)\cdot g(n)
f(n)⋅g(n) 单调递增。
证: 令
n
1
≤
n
2
n_1 \le n_2
n1≤n2,则有
f
(
n
1
)
≤
f
(
n
2
)
f(n_1) \le f(n_2)
f(n1)≤f(n2),
g
(
n
1
)
≤
g
(
n
2
)
g(n_1) \le g(n_2)
g(n1)≤g(n2),
得
f
(
n
1
)
+
g
(
n
1
)
≤
f
(
n
2
)
+
g
(
n
2
)
f(n_1)+g(n_1) \le f(n_2)+g(n_2)
f(n1)+g(n1)≤f(n2)+g(n2),
f
(
g
(
n
1
)
)
≤
f
(
g
(
n
2
)
)
f(g(n_1)) \le f(g(n_2))
f(g(n1))≤f(g(n2))。
所以,函数
f
(
n
)
+
g
(
n
)
f(n)+g(n)
f(n)+g(n) 和
f
(
g
(
n
)
)
f(g(n))
f(g(n)) 是单调递增函数。
因为对任意
n
n
n,有
f
(
n
)
≥
0
f(n) \ge 0
f(n)≥0,
g
(
n
)
≥
0
g(n) \ge 0
g(n)≥0,
得
f
(
n
1
)
⋅
g
(
n
1
)
≤
f
(
n
2
)
⋅
g
(
n
2
)
f(n_1)\cdot g(n_1) \le f(n_2)\cdot g(n_2)
f(n1)⋅g(n1)≤f(n2)⋅g(n2)。
所以,
f
(
n
)
⋅
g
(
n
)
f(n)\cdot g(n)
f(n)⋅g(n) 单调递增。
3.2-2 证明等式 (3.16)。
证: 即证明等式
a
log
b
c
=
c
log
b
a
a^{\log_b c} = c^{\log_b a}
alogbc=clogba。
a
log
b
c
=
(
b
log
b
a
)
log
b
c
=
b
log
b
a
⋅
log
b
c
=
b
log
b
c
⋅
log
b
a
=
c
log
b
a
a^{\log_b c} = (b^{\log_b a})^{\log_b c} = b^{\log_b a\cdot\log_b c} = b^{\log_b c\cdot\log_b a} = c^{\log_b a}
alogbc=(blogba)logbc=blogba⋅logbc=blogbc⋅logba=clogba。
3.2-3 证明等式 (3.19),并证明
n
!
=
ω
(
2
n
)
n! = \omega(2^n)
n!=ω(2n) 和
n
!
=
o
(
n
n
)
n! = o(n^n)
n!=o(nn)。
证: 即证明等式
lg
(
n
!
)
=
Θ
(
n
lg
n
)
\lg (n!) = \Theta(n\lg n)
lg(n!)=Θ(nlgn)。
根据斯特林近似公式,得
lg
(
n
!
)
=
lg
(
2
π
n
(
n
e
)
n
(
1
+
Θ
(
1
n
)
)
)
=
lg
(
2
π
n
)
+
lg
(
n
e
)
n
+
lg
(
1
+
Θ
(
1
n
)
)
=
1
2
lg
(
2
π
)
+
1
2
lg
n
+
n
lg
n
+
n
lg
(
1
e
)
+
lg
(
1
+
Θ
(
1
n
)
)
=
Θ
(
1
)
+
Θ
(
lg
n
)
+
Θ
(
n
lg
n
)
+
Θ
(
n
)
+
lg
(
1
+
Θ
(
1
n
)
)
=
Θ
(
n
lg
n
)
\lg (n!) = \lg (\sqrt{2 \pi n}(\frac{n}{e})^n(1+\Theta(\frac{1}{n}))) \\= \lg(\sqrt{2 \pi n}) + \lg (\frac{n}{e})^n + \lg (1+\Theta(\frac{1}{n})) \\= \frac{1}{2} \lg(2\pi) + \frac{1}{2} \lg n + n\lg n + n\lg (\frac{1}{e}) + \lg (1+\Theta(\frac{1}{n})) \\= \Theta(1) + \Theta(\lg n) + \Theta(n\lg n) + \Theta(n) + \lg (1+\Theta(\frac{1}{n})) \\=\Theta(n \lg n)
lg(n!)=lg(2πn(en)n(1+Θ(n1)))=lg(2πn)+lg(en)n+lg(1+Θ(n1))=21lg(2π)+21lgn+nlgn+nlg(e1)+lg(1+Θ(n1))=Θ(1)+Θ(lgn)+Θ(nlgn)+Θ(n)+lg(1+Θ(n1))=Θ(nlgn)。
因为
lim
n
→
∞
n
!
2
n
=
lim
n
→
∞
2
π
n
(
n
e
)
n
(
1
+
Θ
(
1
n
)
)
2
n
=
lim
n
→
∞
2
π
n
(
n
2
e
)
n
=
∞
\lim_{n \to \infty} \frac {n!} {2^n} = \lim_{n \to \infty} \frac {\sqrt{2 \pi n}(\frac{n}{e})^n(1+\Theta(\frac{1}{n}))} {2^n} = \lim_{n \to \infty}\sqrt{2 \pi n} (\frac {n} {2e})^n = \infty
limn→∞2nn!=limn→∞2n2πn(en)n(1+Θ(n1))=limn→∞2πn(2en)n=∞,所以
n
!
=
ω
(
2
n
)
n! = \omega(2^n)
n!=ω(2n)。
因为
lim
n
→
∞
n
!
n
n
=
lim
n
→
∞
2
π
n
(
n
e
)
n
(
1
+
Θ
(
1
n
)
)
n
n
=
lim
n
→
∞
2
π
n
e
n
=
0
\lim_{n \to \infty} \frac {n!} {n^n} = \lim_{n \to \infty} \frac {\sqrt{2 \pi n}(\frac{n}{e})^n(1+\Theta(\frac{1}{n}))} {n^n} = \lim_{n \to \infty} \frac {\sqrt{2 \pi n}} {e^n} = 0
limn→∞nnn!=limn→∞nn2πn(en)n(1+Θ(n1))=limn→∞en2πn=0,所以
n
!
=
o
(
n
n
)
n! = o(n^n)
n!=o(nn)。
3.2-4
★
\bigstar
★
函数
⌈
lg
n
⌉
!
\lceil \lg n \rceil !
⌈lgn⌉! 是多项式有界的吗?函数
⌈
lg
lg
n
⌉
!
\lceil \lg \lg n \rceil !
⌈lglgn⌉! 呢?
解: 函数
⌈
lg
n
⌉
!
\lceil \lg n \rceil !
⌈lgn⌉! 不是多项式有界的,函数
⌈
lg
lg
n
⌉
!
\lceil \lg \lg n \rceil !
⌈lglgn⌉! 是多项式有界的。
证明函数
f
(
n
)
f(n)
f(n) 是多项式有界的,等价于证明
lg
(
f
(
n
)
)
=
O
(
lg
n
)
\lg (f(n)) = O(\lg n)
lg(f(n))=O(lgn)。理由如下:
① 如果
f
f
f 是多项式有界的,那么存在常数
c
c
c,
k
k
k,
n
0
n_0
n0,对于所有的
n
≥
n
0
n\ge n_0
n≥n0,有
f
(
n
)
≤
c
n
k
f(n) \le cn^k
f(n)≤cnk。
因此,
lg
(
f
(
n
)
)
≤
c
k
lg
n
\lg (f(n)) \le ck \lg n
lg(f(n))≤cklgn,因为
c
c
c 和
k
k
k 是常数,意味着
lg
(
f
(
n
)
)
=
O
(
lg
n
)
\lg (f(n)) = O(\lg n)
lg(f(n))=O(lgn)。
因此,
lg
(
f
(
n
)
)
≤
lg
(
c
n
k
)
\lg (f(n)) \le \lg (cn^k)
lg(f(n))≤lg(cnk),而
lg
(
c
n
k
)
=
lg
c
+
k
lg
n
\lg (cn^k) = \lg c + k\lg n
lg(cnk)=lgc+klgn。当
0
<
c
≤
1
0<c \le 1
0<c≤1 时,
lg
c
≤
0
\lg c \le 0
lgc≤0,得
lg
(
f
(
n
)
)
≤
k
lg
n
\lg (f(n)) \le k \lg n
lg(f(n))≤klgn,因为存在常数
0
<
c
≤
1
0<c\le 1
0<c≤1 和
k
k
k,意味着
lg
(
f
(
n
)
)
=
O
(
lg
n
)
\lg (f(n)) = O(\lg n)
lg(f(n))=O(lgn)。
② 相似地,如果
lg
(
f
(
n
)
)
=
O
(
lg
n
)
\lg (f(n)) = O(\lg n)
lg(f(n))=O(lgn),那么
f
f
f 是多项式有界的。
在下面的证明中,要用到两个等式:
①
lg
(
n
!
)
=
Θ
(
n
lg
n
)
\lg (n!) = \Theta(n\lg n)
lg(n!)=Θ(nlgn)(等式 (3.19))
②
⌈
lg
n
⌉
=
Θ
(
lg
n
)
\lceil \lg n \rceil = \Theta(\lg n)
⌈lgn⌉=Θ(lgn),因为
⌈
lg
n
⌉
≥
lg
n
\lceil \lg n \rceil \ge \lg n
⌈lgn⌉≥lgn,且对于所有的
n
≥
2
n \ge 2
n≥2,有
⌈
lg
n
⌉
<
lg
n
+
1
≤
2
lg
n
\lceil \lg n \rceil < \lg n + 1 \le 2\lg n
⌈lgn⌉<lgn+1≤2lgn。
lg
(
⌈
lg
n
⌉
!
)
=
Θ
(
⌈
lg
n
⌉
lg
(
⌈
lg
n
⌉
)
)
=
Θ
(
lg
n
lg
lg
n
)
=
ω
(
lg
n
)
\lg (\lceil \lg n \rceil !) = \Theta(\lceil \lg n \rceil\lg (\lceil \lg n \rceil)) = \Theta(\lg n \lg \lg n) = \omega(\lg n)
lg(⌈lgn⌉!)=Θ(⌈lgn⌉lg(⌈lgn⌉))=Θ(lgnlglgn)=ω(lgn)。
因此,
lg
(
⌈
lg
n
⌉
!
)
≠
O
(
lg
n
)
\lg (\lceil \lg n \rceil !) \not= O(\lg n)
lg(⌈lgn⌉!)=O(lgn),所以
⌈
lg
n
⌉
!
\lceil \lg n \rceil !
⌈lgn⌉! 不是多项式有界的。
lg
(
⌈
lg
lg
n
⌉
!
)
=
Θ
(
lg
lg
n
lg
lg
lg
n
)
=
o
(
(
lg
lg
n
)
2
)
=
o
(
lg
2
(
lg
n
)
)
=
o
(
lg
n
)
\lg (\lceil \lg \lg n \rceil !) = \Theta(\lg \lg n \lg \lg \lg n) = o((\lg \lg n)^2) = o(\lg^2(\lg n)) =o(\lg n)
lg(⌈lglgn⌉!)=Θ(lglgnlglglgn)=o((lglgn)2)=o(lg2(lgn))=o(lgn)。
因为任意多项对数函数都比任意正的多项式函数增长地慢,即对于任意常数
a
,
b
>
0
a,b>0
a,b>0,有
lg
b
n
=
o
(
n
a
)
\lg^b n = o(n^a)
lgbn=o(na)。将
n
n
n 替换成
lg
n
\lg n
lgn,令
b
=
1
b=1
b=1,
a
=
1
a=1
a=1,得
lg
2
(
lg
n
)
=
o
(
lg
n
)
\lg^2(\lg n) = o(\lg n)
lg2(lgn)=o(lgn)。所以上面的最后一步成立。
因此,
lg
(
⌈
lg
lg
n
⌉
!
)
=
O
(
lg
n
)
\lg (\lceil \lg \lg n \rceil !) = O(\lg n)
lg(⌈lglgn⌉!)=O(lgn),所以
⌈
lg
lg
n
⌉
!
\lceil \lg \lg n \rceil !
⌈lglgn⌉! 是多项式有界的。
3.2-5
★
\bigstar
★
哪个在渐近上更大一些:
lg
(
lg
∗
n
)
\lg (\lg^* n)
lg(lg∗n),还是
lg
∗
(
lg
n
)
\lg^*(\lg n)
lg∗(lgn)?
解:
lg
∗
(
lg
n
)
\lg^*(\lg n)
lg∗(lgn) 在渐近上更大些。
由
lg
∗
n
\lg^* n
lg∗n 的定义,得
lg
∗
n
=
{
0
i
f
n
≤
1
1
+
lg
∗
(
lg
n
)
i
f
n
>
1
\lg^* n=\left\{\begin{array}{rcl} 0 & & \mathrm{if} \ n \le 1 \\1+\lg^*(\lg n) && \mathrm{if} \ n>1 \end{array}\right.
lg∗n={01+lg∗(lgn)if n≤1if n>1
当
0
<
n
≤
1
0 < n \le 1
0<n≤1 时,
lg
∗
n
=
0
\lg^* n = 0
lg∗n=0,
lg
(
lg
∗
n
)
\lg (\lg^* n)
lg(lg∗n) 不存在。
当
n
>
1
n>1
n>1 时,
lg
(
lg
∗
n
)
=
lg
(
1
+
lg
∗
(
lg
n
)
)
\lg (\lg^* n) = \lg(1+\lg^*(\lg n))
lg(lg∗n)=lg(1+lg∗(lgn))。
当
1
<
n
≤
2
1<n \le 2
1<n≤2 时,
0
<
lg
n
≤
1
0 < \lg n \le 1
0<lgn≤1,
lg
∗
(
lg
n
)
=
0
\lg^*(\lg n) = 0
lg∗(lgn)=0,
当
n
>
2
n>2
n>2 时,
lg
n
>
1
\lg n > 1
lgn>1,
lg
∗
(
lg
n
)
=
1
+
lg
∗
(
lg
lg
n
)
\lg^*(\lg n) = 1 + \lg^*(\lg\lg n)
lg∗(lgn)=1+lg∗(lglgn)。
令
f
(
n
)
=
lg
∗
(
lg
n
)
f(n) = \lg^*(\lg n)
f(n)=lg∗(lgn),则
lim
n
→
∞
lg
(
lg
∗
n
)
lg
∗
(
lg
n
)
=
lim
n
→
∞
lg
(
1
+
lg
∗
(
lg
n
)
)
lg
∗
(
lg
n
)
=
lim
n
→
∞
lg
(
1
+
f
(
n
)
)
f
(
n
)
=
0
\lim_{n \to \infty} \frac{\lg (\lg^* n)}{\lg^*(\lg n)} = \lim_{n \to \infty} \frac{\lg(1+\lg^*(\lg n))}{\lg^*(\lg n)} = \lim_{n \to \infty} \frac{\lg(1+f(n))}{f(n)} = 0
limn→∞lg∗(lgn)lg(lg∗n)=limn→∞lg∗(lgn)lg(1+lg∗(lgn))=limn→∞f(n)lg(1+f(n))=0。
因为
lim
n
→
∞
f
(
n
)
=
∞
\lim_{n \to \infty} f(n) = \infty
limn→∞f(n)=∞,所以上式最后一步成立。
则有
lg
(
lg
∗
n
)
=
ω
(
lg
∗
(
lg
n
)
)
\lg (\lg^* n) = \omega(\lg^*(\lg n))
lg(lg∗n)=ω(lg∗(lgn)),所以
lg
∗
(
lg
n
)
\lg^*(\lg n)
lg∗(lgn) 在渐近上更大些。
3.2-6 证明黄金分割率
ϕ
\phi
ϕ 及其共轭数
ϕ
^
\widehat\phi
ϕ
都满足等式
x
2
=
x
+
1
x^2 = x + 1
x2=x+1。
证:
ϕ
=
1
+
5
2
\phi = \frac{1+\sqrt{5}}{2}
ϕ=21+5,
ϕ
^
=
1
−
5
2
\widehat{\phi} = \frac{1-\sqrt{5}}{2}
ϕ
=21−5
ϕ
2
=
3
+
5
2
\phi^2 = \frac{3+\sqrt5}{2}
ϕ2=23+5,
ϕ
+
1
=
3
+
5
2
\phi+1 = \frac{3+\sqrt5}{2}
ϕ+1=23+5,满足等式
ϕ
2
=
ϕ
+
1
\phi^2 = \phi + 1
ϕ2=ϕ+1。
ϕ
^
2
=
3
−
5
2
\widehat\phi^2 = \frac{3-\sqrt5}{2}
ϕ
2=23−5,
ϕ
^
+
1
=
3
−
5
2
\widehat\phi+1 = \frac{3-\sqrt5}{2}
ϕ
+1=23−5,满足等式
ϕ
^
2
=
ϕ
^
+
1
\widehat\phi^2 = \widehat\phi + 1
ϕ
2=ϕ
+1。
把一条线段分割为两部分,使较大部分与全长的比值等于较小部分与较大的比值,则这个比值即为黄金分割。其比值是 (√5-1) : 2,近似值为 0.618,通常用希腊字母 Ф 表示这个值。
x
1
=
1
−
x
x
\frac{x}{1} = \frac{1-x}{x}
1x=x1−x。1 / 0.618… = 1.618…
3.2-7 用归纳法证明:第
i
i
i 个斐波那契数满足等式
F
i
=
ϕ
i
−
ϕ
^
i
5
F_i = \frac{\phi^i - \widehat\phi^i}{\sqrt5}
Fi=5ϕi−ϕ
i,其中
ϕ
\phi
ϕ 是黄金分割率,
ϕ
^
\widehat\phi
ϕ
是其共轭数。
证: ① 当
i
=
0
i=0
i=0 时,
F
0
=
ϕ
0
−
ϕ
^
0
5
=
0
F_0 = \frac{\phi^0 - \widehat\phi^0}{\sqrt5} = 0
F0=5ϕ0−ϕ
0=0,命题成立。当
i
=
1
i=1
i=1 时,
F
1
=
ϕ
1
−
ϕ
^
1
5
=
1
F_1 = \frac{\phi^1 - \widehat\phi^1}{\sqrt5} = 1
F1=5ϕ1−ϕ
1=1,命题成立。
② 假设第
i
−
1
i-1
i−1 个斐波那契数满足等式
F
i
−
1
=
ϕ
i
−
1
−
ϕ
^
i
−
1
5
F_{i-1} = \frac{\phi^{i-1} - \widehat\phi^{i-1}}{\sqrt5}
Fi−1=5ϕi−1−ϕ
i−1,第
i
−
2
i-2
i−2 个斐波那契数满足等式
F
i
−
2
=
ϕ
i
−
2
−
ϕ
^
i
−
2
5
F_{i-2} = \frac{\phi^{i-2} - \widehat\phi^{i-2}}{\sqrt5}
Fi−2=5ϕi−2−ϕ
i−2,其中,
i
≥
2
i\ge 2
i≥2。
那么,第
i
i
i 个斐波那契数
F
i
=
F
i
−
1
+
F
i
−
2
=
ϕ
i
−
1
−
ϕ
^
i
−
1
5
+
ϕ
i
−
2
−
ϕ
^
i
−
2
5
=
(
ϕ
+
1
)
⋅
ϕ
i
−
2
−
(
ϕ
^
+
1
)
⋅
ϕ
^
i
−
2
5
=
(
ϕ
2
)
⋅
ϕ
i
−
2
−
(
ϕ
^
2
)
⋅
ϕ
^
i
−
2
5
=
ϕ
i
−
ϕ
^
i
5
F_i = F_{i-1} + F_{i-2} \\= \frac{\phi^{i-1} - \widehat\phi^{i-1}}{\sqrt5} + \frac{\phi^{i-2} - \widehat\phi^{i-2}}{\sqrt5} = \frac{(\phi+1)\cdot\phi^{i-2} - (\widehat\phi+1)\cdot\widehat\phi^{i-2}}{\sqrt5} \\= \frac{(\phi^2)\cdot\phi^{i-2} - (\widehat\phi^2)\cdot\widehat\phi^{i-2}}{\sqrt5} \\= \frac{\phi^i - \widehat\phi^i}{\sqrt5}
Fi=Fi−1+Fi−2=5ϕi−1−ϕ
i−1+5ϕi−2−ϕ
i−2=5(ϕ+1)⋅ϕi−2−(ϕ
+1)⋅ϕ
i−2=5(ϕ2)⋅ϕi−2−(ϕ
2)⋅ϕ
i−2=5ϕi−ϕ
i
上面的倒数第二步,见练习 3.2-6,有
ϕ
2
=
ϕ
+
1
\phi^2 = \phi + 1
ϕ2=ϕ+1,
ϕ
^
2
=
ϕ
^
+
1
\widehat\phi^2 = \widehat\phi + 1
ϕ
2=ϕ
+1。命题成立。
综上,第
i
i
i 个斐波那契数满足等式
F
i
=
ϕ
i
−
ϕ
^
i
5
F_i = \frac{\phi^i - \widehat\phi^i}{\sqrt5}
Fi=5ϕi−ϕ
i。
3.2-8 证明:
k
ln
k
=
Θ
(
n
)
k\ln k = \Theta(n)
klnk=Θ(n) 可推导出
k
=
Θ
(
n
/
ln
n
)
k = \Theta(n/\ln n)
k=Θ(n/lnn)。
证: 由渐近记号的对称性,得
n
=
Θ
(
k
ln
k
)
n=\Theta(k\ln k)
n=Θ(klnk),
那么
ln
n
=
Θ
(
ln
(
k
ln
k
)
)
=
Θ
(
ln
k
+
ln
ln
k
)
=
Θ
(
ln
k
)
\ln n = \Theta(\ln(k\ln k)) = \Theta(\ln k + \ln\ln k) = \Theta(\ln k)
lnn=Θ(ln(klnk))=Θ(lnk+lnlnk)=Θ(lnk),
所以
n
/
ln
n
=
Θ
(
k
ln
k
)
/
Θ
(
ln
k
)
=
Θ
(
k
)
n/\ln n = \Theta(k\ln k)/\Theta(\ln k) = \Theta(k)
n/lnn=Θ(klnk)/Θ(lnk)=Θ(k)。
由对称性,得
k
=
Θ
(
n
/
ln
n
)
k = \Theta(n / \ln n)
k=Θ(n/lnn),得证。
思考题
3-1 多项式的渐近性质
设
p
(
n
)
=
∑
i
=
0
d
a
i
n
i
p(n) = \sum_{i=0}^{d} a_in^i
p(n)=∑i=0daini 是一个
n
n
n 的
d
d
d 次多项式,其中
a
d
>
0
a_d > 0
ad>0,令
k
k
k 为一个常数。利用渐近记号的定义来证明如下性质:
a. 若
k
≥
d
k \ge d
k≥d,则
p
(
n
)
=
O
(
n
k
)
p(n) = O(n^k)
p(n)=O(nk)。
b. 若
k
≤
d
k \le d
k≤d,则
p
(
n
)
=
Ω
(
n
k
)
p(n) = \Omega(n^k)
p(n)=Ω(nk)。
c. 若
k
=
d
k = d
k=d,则
p
(
n
)
=
Θ
(
n
k
)
p(n) = \Theta(n^k)
p(n)=Θ(nk)。
d. 若
k
>
d
k > d
k>d,则
p
(
n
)
=
o
(
n
k
)
p(n) = o(n^k)
p(n)=o(nk)。
e. 若
k
<
d
k < d
k<d,则
p
(
n
)
=
ω
(
n
k
)
p(n) = \omega(n^k)
p(n)=ω(nk)。
证:
p
(
n
)
=
a
0
+
a
1
n
+
a
2
n
2
+
⋯
+
a
d
n
d
p(n) = a_0 + a_1 n + a_2 n^2 + \cdots + a_d n^d
p(n)=a0+a1n+a2n2+⋯+adnd。
a. 即证明,存在正常数
c
c
c 和
n
0
n_0
n0,使对所有
n
≥
n
0
n \geq n_0
n≥n0,有
0
≤
p
(
n
)
≤
c
n
k
0 \leq p(n) \leq cn^k
0≤p(n)≤cnk。
令
a
m
a
x
=
max
(
a
0
,
a
1
,
a
2
,
…
,
a
d
)
a_{max} = \max (a_0,a_1,a_2,\dots,a_d)
amax=max(a0,a1,a2,…,ad),因为
a
d
>
0
a_d > 0
ad>0,所以
a
m
a
x
>
0
a_{max} > 0
amax>0。
所以
p
(
n
)
≤
∑
i
=
0
d
a
m
a
x
n
i
p(n) \le \sum_{i=0}^{d} a_{max}n^i
p(n)≤∑i=0damaxni,当
n
≥
1
n \ge 1
n≥1 时,有
∑
i
=
0
d
a
m
a
x
n
i
≤
d
⋅
a
m
a
x
⋅
n
d
≤
d
⋅
a
m
a
x
⋅
n
k
\sum_{i=0}^{d} a_{max}n^i \le d \cdot a_{max}\cdot n^d \le d \cdot a_{max}\cdot n^k
∑i=0damaxni≤d⋅amax⋅nd≤d⋅amax⋅nk。
所以,存在
c
=
d
⋅
a
m
a
x
c = d \cdot a_{max}
c=d⋅amax,
n
0
=
1
n_0 = 1
n0=1 满足条件,得证。
b. 即证明,存在正常数
c
c
c 和
n
0
n_0
n0,使对所有
n
≥
n
0
n \geq n_0
n≥n0,有
0
≤
c
n
k
≤
p
(
n
)
0 \leq cn^k \leq p(n)
0≤cnk≤p(n)。
p
(
n
)
≥
a
d
n
d
p(n) \ge a_d n^d
p(n)≥adnd,当
n
≥
1
n \ge 1
n≥1 时,有
a
d
n
d
≥
a
d
n
k
a_dn^d \ge a_dn^k
adnd≥adnk。
所以,存在
c
=
a
d
c=a_d
c=ad,
n
0
=
1
n_0=1
n0=1 满足条件,得证。
c. 即证明,存在正常数
c
1
c_1
c1、
c
2
c_2
c2 和
n
0
n_0
n0,使对所有
n
≥
n
0
n \geq n_0
n≥n0,有
0
≤
c
1
n
k
≤
p
(
n
)
≤
c
2
n
k
0 \leq c_1n^k \leq p(n) \leq c_2n^k
0≤c1nk≤p(n)≤c2nk。
由部分(a)和(b)得,存在
c
1
=
a
d
c_1=a_d
c1=ad,
c
2
=
d
⋅
a
m
a
x
c_2=d\cdot a_{max}
c2=d⋅amax,
n
0
=
1
n_0 = 1
n0=1 满足条件,得证。
d. 即证明,对任意正常数
c
c
c,存在常数
n
0
>
0
n_0>0
n0>0,使对所有
n
≥
n
0
n \geq n_0
n≥n0,有
0
≤
p
(
n
)
≤
c
n
k
0 \leq p(n) \leq cn^k
0≤p(n)≤cnk。
由部分(a)得,当
n
≥
1
n \ge 1
n≥1 时,有
p
(
n
)
≤
d
⋅
a
m
a
x
⋅
n
d
≤
d
⋅
a
m
a
x
⋅
n
k
−
1
p(n) \le d \cdot a_{max}\cdot n^d \le d \cdot a_{max}\cdot n^{k-1}
p(n)≤d⋅amax⋅nd≤d⋅amax⋅nk−1。(因为
k
−
1
≥
d
k-1 \ge d
k−1≥d)
由
d
⋅
a
m
a
x
⋅
n
k
−
1
≤
c
n
k
d \cdot a_{max}\cdot n^{k-1} \le cn^k
d⋅amax⋅nk−1≤cnk,得
n
≥
d
⋅
a
m
a
x
/
c
n \ge d \cdot a_{max}/c
n≥d⋅amax/c。
所以,存在
n
0
=
max
(
1
,
d
⋅
a
m
a
x
/
c
)
n_0 = \max(1, d \cdot a_{max}/c)
n0=max(1,d⋅amax/c) 满足条件,得证。
e. 即证明,对任意正常数
c
c
c,存在常数
n
0
>
0
n_0>0
n0>0,使对所有
n
≥
n
0
n \geq n_0
n≥n0,有
0
≤
c
n
k
≤
p
(
n
)
0 \leq cn^k \leq p(n)
0≤cnk≤p(n)。
当
n
≥
1
n \ge 1
n≥1 时,有
p
(
n
)
≥
a
d
n
d
≥
a
d
n
k
+
1
p(n) \ge a_d n^d \ge a_dn^{k+1}
p(n)≥adnd≥adnk+1。(因为
d
≥
k
+
1
d \ge k+1
d≥k+1)
由
a
d
n
k
+
1
≥
c
n
k
a_dn^{k+1} \ge cn^k
adnk+1≥cnk,得
n
≥
c
/
a
d
n \ge c/a_d
n≥c/ad。
所以,存在
n
0
=
max
(
1
,
c
/
a
d
)
n_0 = \max(1, c/a_d)
n0=max(1,c/ad) 满足条件,得证。
3-2 相对渐近增长
在下表中,对每一对表达式
(
A
,
B
)
(A,B)
(A,B),指出
A
A
A 是
B
B
B 的哪种关系,是
O
O
O,
o
o
o,
Ω
\Omega
Ω,
ω
\omega
ω 或者
Θ
\Theta
Θ。假设
k
≥
1
k \ge 1
k≥1,
ϵ
>
0
\epsilon >0
ϵ>0,
c
>
1
c>1
c>1 都是常数。在表格的空格内填“是”或“否”。
A A A B B B | O O O | o o o | Ω \Omega Ω | ω \omega ω | Θ \Theta Θ |
---|---|---|---|---|---|
lg k n \lg^k n lgkn n ϵ n^{\epsilon} nϵ | — | — | 否 | 否 | 否 |
n k n^k nk c n c^n cn | 是 | 是 | 否 | 否 | 否 |
n \sqrt n n n sin n n^{\sin n} nsinn | 否 | 否 | 否 | 否 | 否 |
2 n 2^n 2n 2 n / 2 2^{n/2} 2n/2 | 否 | 否 | 是 | 是 | 否 |
n lg c n^{\lg c} nlgc c lg n c^{\lg n} clgn | 是 | 否 | 是 | 否 | 是 |
lg ( n ! ) \lg(n!) lg(n!) lg ( n n ) \lg(n^n) lg(nn) | 是 | 否 | 是 | 否 | 是 |
解: 第 1 对:
lg
n
=
o
(
n
)
\lg n = o(n)
lgn=o(n)。(未完成)
第 2 对:任何底数大于 1 的指数函数比任何多项式函数增长地更快,即
n
b
=
o
(
a
n
)
n^b = o(a^n)
nb=o(an),其中
a
>
1
a>1
a>1。
第 3 对:
n
sin
n
n^{\sin n}
nsinn 不是渐近正函数;不存在常数
n
0
n_0
n0,使得
n
>
n
0
n>n_0
n>n0 时,函数单调递增或单调递减。
第 4 对:
lim
n
→
∞
A
/
B
=
lim
n
→
∞
2
n
/
2
=
∞
\lim_{n \to \infty} A/B = \lim_{n \to \infty} 2^{n/2} = \infty
limn→∞A/B=limn→∞2n/2=∞。
第 5 对:因为
a
log
b
c
=
c
log
b
a
a^{\log_b c} = c^{\log_b a}
alogbc=clogba,所以
n
lg
c
=
c
lg
n
n^{\lg c} = c^{\lg n}
nlgc=clgn。
第 6 对:
lg
(
n
!
)
=
Θ
(
n
lg
n
)
\lg (n!) = \Theta(n\lg n)
lg(n!)=Θ(nlgn),
lg
(
n
n
)
=
Θ
(
n
lg
n
)
\lg (n^n) = \Theta(n\lg n)
lg(nn)=Θ(nlgn)。
3-3 根据渐近增长率排序
a. 根据增长率对下列函数进行排序;即找出函数的一种排列
g
1
,
g
2
,
…
,
g
30
g_1,g_2,\dots,g_{30}
g1,g2,…,g30,满足
g
1
=
Ω
(
g
2
)
,
g
2
=
Ω
(
g
3
)
,
…
,
g
29
=
Ω
(
g
30
)
g_1 = \Omega(g_2), g_2 = \Omega(g_3), \dots, g_{29} = \Omega(g_{30})
g1=Ω(g2),g2=Ω(g3),…,g29=Ω(g30)。将该序列划分成等价类,使得函数
f
(
n
)
f(n)
f(n) 和
g
(
n
)
g(n)
g(n) 在同一个等价类,当且仅当
f
(
n
)
=
Θ
(
g
(
n
)
)
f(n) = \Theta(g(n))
f(n)=Θ(g(n))。
lg
(
lg
∗
n
)
\lg(\lg^* n)
lg(lg∗n)
2
lg
∗
n
2^{\lg^*n}
2lg∗n
(
2
)
lg
n
(\sqrt2)^{\lg n}
(2)lgn
n
2
n^2
n2
n
!
n!
n!
(
lg
n
)
!
(\lg n)!
(lgn)!
(
3
2
)
n
(\frac{3}{2})^n
(23)n
n
3
n^3
n3
lg
2
n
\lg^2n
lg2n
lg
(
n
!
)
\lg(n!)
lg(n!)
2
2
n
2^{2^{n}}
22n
n
1
/
lg
n
n^{1/\lg n}
n1/lgn
ln
ln
n
\ln \ln n
lnlnn
lg
∗
n
\lg^* n
lg∗n
n
⋅
2
n
n\cdot 2^n
n⋅2n
n
lg
lg
n
n^{\lg \lg n}
nlglgn
ln
n
\ln n
lnn
1
1
1
2
lg
n
2^{\lg n}
2lgn
(
lg
n
)
lg
n
(\lg n)^{\lg n}
(lgn)lgn
e
n
e^n
en
4
lg
n
4^{\lg n}
4lgn
(
n
+
1
)
!
(n+1)!
(n+1)!
(
lg
n
)
\sqrt{(\lg n)}
(lgn)
lg
∗
(
lg
n
)
\lg^*(\lg n)
lg∗(lgn)
2
2
lg
n
2^{\sqrt{2\lg n}}
22lgn
n
n
n
2
n
2^n
2n
n
lg
n
n \lg n
nlgn
2
2
n
+
1
2^{2^{n+1}}
22n+1
b. 给出非负函数
f
(
n
)
f(n)
f(n) 的一个例子,使对任何在部分 (a) 中的
g
i
(
n
)
g_i(n)
gi(n),
f
(
n
)
f(n)
f(n) 既不是
O
(
g
i
(
n
)
)
O(g_i(n))
O(gi(n)),也不是
Ω
(
g
i
(
n
)
)
\Omega(g_i(n))
Ω(gi(n))。
解: a.
2
lg
n
=
n
2^{\lg n} = n
2lgn=n,
4
lg
n
=
n
2
4^{\lg n} = n^2
4lgn=n2,
(
2
)
lg
n
=
n
(\sqrt2)^{\lg n} = \sqrt {n}
(2)lgn=n,
n
lg
lg
n
=
(
lg
n
)
lg
n
n^{\lg \lg n} = (\lg n)^{\lg n}
nlglgn=(lgn)lgn,
lg
(
n
!
)
=
Θ
(
n
lg
n
)
\lg (n!) = \Theta(n\lg n)
lg(n!)=Θ(nlgn)
排列:
2
2
n
+
1
2^{2^{n+1}}
22n+1,
2
2
n
2^{2^{n}}
22n,
(
n
+
1
)
!
(n+1)!
(n+1)!,
n
!
n!
n!,
e
n
e^n
en,
n
⋅
2
n
n\cdot 2^n
n⋅2n,
2
n
2^n
2n,
(
3
2
)
n
(\frac{3}{2})^n
(23)n,
n
3
n^3
n3,
n
2
n^2
n2,
4
lg
n
4^{\lg n}
4lgn,
n
lg
n
n \lg n
nlgn,
lg
(
n
!
)
\lg(n!)
lg(n!),
n
n
n,
2
lg
n
2^{\lg n}
2lgn,
(
2
)
lg
n
(\sqrt2)^{\lg n}
(2)lgn,
lg
2
n
\lg^2n
lg2n,
ln
n
\ln n
lnn,
ln
ln
n
\ln \ln n
lnlnn,
lg
∗
n
\lg^* n
lg∗n,
lg
∗
(
lg
n
)
\lg^*(\lg n)
lg∗(lgn),
lg
(
lg
∗
n
)
\lg(\lg^* n)
lg(lg∗n),
1
1
1。(未完成)
等价类:
①
n
n
n,
2
lg
n
2^{\lg n}
2lgn
②
n
2
n^2
n2,
4
lg
n
4^{\lg n}
4lgn
③
(
lg
n
)
lg
n
(\lg n)^{\lg n}
(lgn)lgn,
n
lg
lg
n
n^{\lg \lg n}
nlglgn
④
n
lg
n
n\lg n
nlgn,
lg
(
n
!
)
\lg (n!)
lg(n!)
(未完成)
b. 一个例子:
f
(
n
)
=
sin
2
n
f(n) = \sin^2n
f(n)=sin2n。
3-4 渐近记号的性质
设
f
(
n
)
f(n)
f(n) 和
g
(
n
)
g(n)
g(n) 是渐近正函数,证明或否定以下假设。
a.
f
(
n
)
=
O
(
g
(
n
)
)
f(n) = O(g(n))
f(n)=O(g(n)) 蕴含
g
(
n
)
=
O
(
f
(
n
)
)
g(n) = O(f(n))
g(n)=O(f(n))。
b.
f
(
n
)
+
g
(
n
)
=
Θ
(
min
(
f
(
n
)
,
g
(
n
)
)
)
f(n) + g(n) = \Theta(\min(f(n),g(n)))
f(n)+g(n)=Θ(min(f(n),g(n)))。
c.
f
(
n
)
=
O
(
g
(
n
)
)
f(n) = O(g(n))
f(n)=O(g(n)) 蕴含
lg
(
f
(
n
)
)
=
O
(
lg
(
g
(
n
)
)
)
\lg (f(n)) = O(\lg(g(n)))
lg(f(n))=O(lg(g(n))),其中
lg
(
g
(
n
)
)
≥
1
\lg(g(n)) \ge 1
lg(g(n))≥1 且
f
(
n
)
≥
1
f(n) \ge 1
f(n)≥1 对足够大的
n
n
n 成立。
d.
f
(
n
)
=
O
(
g
(
n
)
)
f(n) = O(g(n))
f(n)=O(g(n)) 蕴含
2
f
(
n
)
=
O
(
2
g
(
n
)
)
2^{f(n)} = O(2^{g(n)})
2f(n)=O(2g(n))。
e.
f
(
n
)
=
O
(
(
f
(
n
)
)
2
)
f(n) = O((f(n))^2)
f(n)=O((f(n))2)。
f.
f
(
n
)
=
O
(
g
(
n
)
)
f(n) = O(g(n))
f(n)=O(g(n)) 蕴含
g
(
n
)
=
Ω
(
f
(
n
)
)
g(n) = \Omega(f(n))
g(n)=Ω(f(n))。
g.
f
(
n
)
=
Θ
(
f
(
n
/
2
)
)
f(n) = \Theta(f(n/2))
f(n)=Θ(f(n/2))。
h.
f
(
n
)
+
o
(
f
(
n
)
)
=
Θ
(
f
(
n
)
)
f(n) + o(f(n)) = \Theta(f(n))
f(n)+o(f(n))=Θ(f(n))。
解: a. 假设不成立。例,设
f
(
n
)
=
n
f(n) = n
f(n)=n,
g
(
n
)
=
n
2
g(n) = n^2
g(n)=n2,满足
f
(
n
)
=
O
(
g
(
n
)
)
f(n) = O(g(n))
f(n)=O(g(n)),而
g
(
n
)
≠
O
(
f
(
n
)
)
g(n) \not= O(f(n))
g(n)=O(f(n))。
b. 假设不成立。
f
(
n
)
+
g
(
n
)
=
Θ
(
max
(
f
(
n
)
,
g
(
n
)
)
)
f(n) + g(n) = \Theta(\max(f(n),g(n)))
f(n)+g(n)=Θ(max(f(n),g(n)))。
c. 假设成立。
存在正常数
c
c
c 和
n
0
n_0
n0,使对所有
n
≥
n
0
n \geq n_0
n≥n0,有
0
≤
f
(
n
)
≤
c
g
(
n
)
0 \leq f(n) \leq cg(n)
0≤f(n)≤cg(n)。
存在正常数
n
1
n_1
n1,使对所有
n
≥
n
1
n\ge n_1
n≥n1,有
f
(
n
)
≥
1
f(n) \ge 1
f(n)≥1,得
lg
(
f
(
n
)
)
≥
0
\lg(f(n)) \ge 0
lg(f(n))≥0。
所以,对所有
n
≥
max
(
n
0
,
n
1
)
n \ge \max(n_0,n_1)
n≥max(n0,n1),有
0
≤
lg
(
f
(
n
)
)
≤
c
lg
(
g
(
n
)
)
0 \le \lg(f(n)) \le c\lg(g(n))
0≤lg(f(n))≤clg(g(n)),得证。
d. 假设不成立。令
f
(
n
)
=
2
n
f(n) = 2n
f(n)=2n,
g
(
n
)
=
n
g(n) = n
g(n)=n,满足
f
(
n
)
=
O
(
g
(
n
)
)
f(n) = O(g(n))
f(n)=O(g(n))。
lim
n
→
∞
2
f
(
n
)
2
g
(
n
)
=
lim
n
→
∞
2
n
=
∞
\lim_{n \to \infty} \frac{2^{f(n)}}{2^{g(n)}} = \lim_{n \to \infty}2^n = \infty
limn→∞2g(n)2f(n)=limn→∞2n=∞。此时,有
2
f
(
n
)
=
ω
(
2
g
(
n
)
)
2^{f(n)} = \omega(2^{g(n)})
2f(n)=ω(2g(n)),
2
f
(
n
)
≠
O
(
2
g
(
n
)
)
2^{f(n)} \not= O(2^{g(n)})
2f(n)=O(2g(n))。
e. 假设不成立。令
f
(
n
)
=
1
/
n
f(n) = 1/n
f(n)=1/n,则
(
f
(
n
)
)
2
=
1
/
n
2
(f(n))^2 = 1/n^2
(f(n))2=1/n2,有
f
(
n
)
=
ω
(
(
f
(
n
)
)
2
)
f(n) = \omega((f(n))^2)
f(n)=ω((f(n))2)。
f. 假设成立。渐近记号的转置对称性。
g. 假设不成立。令
f
(
n
)
=
2
n
f(n) = 2^n
f(n)=2n,则
f
(
n
/
2
)
=
2
n
/
2
f(n/2) = 2^{n/2}
f(n/2)=2n/2,有
f
(
n
)
=
ω
(
f
(
n
/
2
)
)
f(n) = \omega(f(n/2))
f(n)=ω(f(n/2))。
h. 假设成立。
即证明,存在正常数
c
1
c_1
c1、
c
2
c_2
c2 和
n
0
n_0
n0,使对所有
n
≥
n
0
n \geq n_0
n≥n0,有
0
≤
c
1
f
(
n
)
≤
f
(
n
)
+
o
(
f
(
n
)
)
≤
c
2
f
(
n
)
0 \leq c_1f(n) \leq f(n) + o(f(n)) \leq c_2f(n)
0≤c1f(n)≤f(n)+o(f(n))≤c2f(n)。
因为
f
(
n
)
f(n)
f(n) 是渐近正函数,所以存在常数
m
0
m_0
m0,使对所有
n
≥
m
0
n\ge m_0
n≥m0,有
f
(
n
)
≥
0
f(n) \ge 0
f(n)≥0。
令
h
(
n
)
=
o
(
f
(
n
)
)
h(n) = o(f(n))
h(n)=o(f(n)),
则对任意正常数
c
3
c_3
c3,存在常数
n
1
>
0
n_1>0
n1>0,使对所有
n
≥
n
1
n \geq n_1
n≥n1,有
0
≤
h
(
n
)
≤
c
3
f
(
n
)
0 \leq h(n) \leq c_3f(n)
0≤h(n)≤c3f(n)。
所以,
f
(
n
)
+
h
(
n
)
≥
f
(
n
)
f(n) + h(n) \ge f(n)
f(n)+h(n)≥f(n),
f
(
n
)
+
h
(
n
)
≤
(
1
+
c
3
)
f
(
n
)
f(n) + h(n) \le (1+c_3)f(n)
f(n)+h(n)≤(1+c3)f(n)。
所以,存在
c
1
=
1
c_1 = 1
c1=1,
c
2
=
1
+
c
3
c_2 = 1 + c_3
c2=1+c3 满足条件,得证。
3-5
O
O
O 和
Ω
\Omega
Ω 的变形
某些作者定义
Ω
\Omega
Ω 的方式与我们略有不同,可以用
Ω
∞
\overset{\infty}{\Omega}
Ω∞(读作“
Ω
\Omega
Ω 无穷大”)来表示这种定义。若存在正常数
c
c
c 使
f
(
n
)
≥
c
g
(
n
)
≥
0
f(n) \ge cg(n) \ge 0
f(n)≥cg(n)≥0 对无穷多的整数成立,则称
f
(
n
)
=
Ω
∞
(
g
(
n
)
)
f(n) = \overset{\infty}{\Omega} (g(n))
f(n)=Ω∞(g(n))。
a. 说明渐近非负的两个函数
f
(
n
)
f(n)
f(n) 和
g
(
n
)
g(n)
g(n),要么
f
(
n
)
=
O
(
g
(
n
)
)
f(n) = O(g(n))
f(n)=O(g(n)),要么
f
(
n
)
=
Ω
∞
(
g
(
n
)
)
f(n) = \overset{\infty}{\Omega}(g(n))
f(n)=Ω∞(g(n)),要么二者都成立,然而用
Ω
\Omega
Ω 代替
Ω
∞
\overset{\infty}{\Omega}
Ω∞ 时不成立。
b. 请描述使用
Ω
∞
\overset{\infty}{\Omega}
Ω∞ 代替
Ω
\Omega
Ω 来刻画程序运行时间的潜在优点和缺点。
某些作者定义
O
O
O 的方式也略有不同,可以用
O
′
O'
O′ 来表示这种定义。当且仅当
∣
f
(
n
)
∣
=
O
(
g
(
n
)
)
|f(n)| = O(g(n))
∣f(n)∣=O(g(n)) 时,称
f
(
n
)
=
O
′
(
g
(
n
)
)
f(n) = O'(g(n))
f(n)=O′(g(n))。
c. 如果我们使用
O
′
O'
O′ 代替
O
O
O 而仍然使用
Ω
\Omega
Ω,定理 3.1 的“当且仅当”的两个方向各有什么变化?
某些作者定义
O
~
\widetilde{O}
O
(读作 “soft-oh”)来表示略去了对数因子的
O
O
O:
O
~
(
g
(
n
)
)
=
{
f
(
n
)
\widetilde{O}(g(n))=\{f(n)
O
(g(n))={f(n):存在正常数
c
c
c,
k
k
k 和
n
0
n_0
n0,使对所有
n
≥
n
0
n \geq n_0
n≥n0,有
0
≤
f
(
n
)
≤
c
g
(
n
)
lg
k
n
}
0 \leq f(n) \leq cg(n)\lg^k n \}
0≤f(n)≤cg(n)lgkn}。
d. 请类似地定义
Ω
~
\widetilde{\Omega}
Ω
和
Θ
~
\widetilde{\Theta}
Θ
,并证明与定理 3.1 的类似关系。
解: a. 如果
f
(
n
)
=
O
(
g
(
n
)
)
f(n) = O(g(n))
f(n)=O(g(n)),那么,存在正常数
c
c
c 和
n
0
n_0
n0,使对所有
n
≥
n
0
n \geq n_0
n≥n0,有
0
≤
f
(
n
)
≤
c
g
(
n
)
0 \leq f(n) \leq cg(n)
0≤f(n)≤cg(n)。
如果
f
(
n
)
≠
O
(
g
(
n
)
)
f(n) \not= O(g(n))
f(n)=O(g(n)),那么,存在正常数
c
1
c_1
c1,对所有的
n
n
n,存在常数
n
1
>
n
n_1 > n
n1>n,且
f
(
n
1
)
>
c
1
g
(
n
1
)
≥
0
f(n_1) > c_1g(n_1) \ge 0
f(n1)>c1g(n1)≥0。此时,
f
(
n
)
=
Ω
∞
(
g
(
n
)
)
f(n) = \overset{\infty}{\Omega}(g(n))
f(n)=Ω∞(g(n))。
当
f
(
n
)
=
Θ
(
g
(
n
)
)
f(n) = \Theta(g(n))
f(n)=Θ(g(n)) 时,二者都成立。
用 Ω \Omega Ω 代替 Ω ∞ \overset{\infty}{\Omega} Ω∞ 时,令 f ( n ) = n f(n) = n f(n)=n, g ( n ) = 2 + sin n g(n) = 2 + \sin n g(n)=2+sinn,均为渐近非负函数。但是 f ( n ) ≠ O ( g ( n ) ) f(n) \not=O(g(n)) f(n)=O(g(n)),且 f ( n ) ≠ Ω ( g ( n ) ) f(n) \not= \Omega(g(n)) f(n)=Ω(g(n))。
b. 优点:任意渐近非负的两个函数的关系均可由
O
O
O 或
Ω
∞
\overset{\infty}{\Omega}
Ω∞ 表示。
缺点:不能明确比较两个函数的增长率的大小。
c. 定理 3.1:对任意两个函数
f
(
n
)
f(n)
f(n) 和
g
(
n
)
g(n)
g(n),当且仅当
f
(
n
)
=
O
(
g
(
n
)
)
f(n) = O(g(n))
f(n)=O(g(n)),
f
(
n
)
=
Ω
(
g
(
n
)
)
f(n)=\Omega(g(n))
f(n)=Ω(g(n)) 时,有
f
(
n
)
=
Θ
(
g
(
n
)
)
f(n)=\Theta(g(n))
f(n)=Θ(g(n))。
变化:对任意两个函数
f
(
n
)
f(n)
f(n) 和
g
(
n
)
g(n)
g(n),当且仅当
f
(
n
)
=
O
′
(
g
(
n
)
)
f(n) = O'(g(n))
f(n)=O′(g(n)),
∣
f
(
n
)
∣
=
Ω
(
g
(
n
)
)
|f(n)|=\Omega(g(n))
∣f(n)∣=Ω(g(n)) 时,有
∣
f
(
n
)
∣
=
Θ
(
g
(
n
)
)
|f(n)|=\Theta(g(n))
∣f(n)∣=Θ(g(n))。
d.
Ω
~
(
g
(
n
)
)
=
{
f
(
n
)
\widetilde{\Omega}(g(n))=\{f(n)
Ω
(g(n))={f(n):存在正常数
c
c
c,
k
k
k 和
n
0
n_0
n0,使对所有
n
≥
n
0
n \geq n_0
n≥n0,有
0
≤
c
g
(
n
)
lg
k
n
≤
f
(
n
)
}
0 \leq cg(n)\lg^k n \leq f(n)\}
0≤cg(n)lgkn≤f(n)}。
Θ
~
(
g
(
n
)
)
=
{
f
(
n
)
\widetilde{\Theta}(g(n))=\{f(n)
Θ
(g(n))={f(n):存在正常数
c
1
c_1
c1,
c
2
c_2
c2,
k
1
k_1
k1,
k
2
k_2
k2 和
n
0
n_0
n0,使对所有
n
≥
n
0
n \geq n_0
n≥n0,有
0
≤
c
1
g
(
n
)
lg
k
1
n
≤
f
(
n
)
≤
c
2
g
(
n
)
lg
k
2
n
}
0 \leq c_1g(n)\lg^{k_1} n \leq f(n) \leq c_2g(n)\lg^{k_2} n \}
0≤c1g(n)lgk1n≤f(n)≤c2g(n)lgk2n}。
定理:对任意两个函数
f
(
n
)
f(n)
f(n) 和
g
(
n
)
g(n)
g(n),当且仅当
f
(
n
)
=
O
~
(
g
(
n
)
)
f(n) = \widetilde{O}(g(n))
f(n)=O
(g(n)),
f
(
n
)
=
Ω
~
(
g
(
n
)
)
f(n)=\widetilde{\Omega}(g(n))
f(n)=Ω
(g(n)) 时,有
f
(
n
)
=
Θ
~
(
g
(
n
)
)
f(n)=\widetilde{\Theta}(g(n))
f(n)=Θ
(g(n))。
根据定义即可证明。
3-6 迭代函数(iterated functions)
在
lg
∗
\lg^*
lg∗ 函数中用到的迭代操作符
∗
^*
∗ 可用于在实数域内任何单调递增的函数
f
(
n
)
f(n)
f(n) 上。对于一个给定的常数
c
∈
R
c \in \mathbb{R}
c∈R,定义迭代函数
f
c
∗
f_c^*
fc∗ 为:
f
c
∗
(
n
)
=
min
{
i
≥
0
:
f
(
i
)
(
n
)
≤
c
}
f_c^*(n) = \min\{i \ge 0: f^{(i)}(n) \le c\}
fc∗(n)=min{i≥0:f(i)(n)≤c},
该函数不必针对所有函数定义。换言之,
f
c
∗
(
n
)
f_c^*(n)
fc∗(n) 是为其自变量小于或等于
c
c
c,而重复应用函数
f
f
f 的次数。
对于下列的每函数
f
(
n
)
f(n)
f(n) 和常数
c
c
c,给出
f
c
∗
(
n
)
f_c^*(n)
fc∗(n) 的尽可能紧确的界。
f ( n ) f(n) f(n) | c c c | f c ∗ ( n ) f_c^*(n) fc∗(n) |
---|---|---|
n − 1 n-1 n−1 | 0 0 0 | n n n |
lg n \lg n lgn | 1 1 1 | lg ∗ n \lg^* n lg∗n |
n / 2 n/2 n/2 | 1 1 1 | lg n \lg n lgn |
n / 2 n/2 n/2 | 2 2 2 | lg n \lg n lgn |
n \sqrt n n | 2 2 2 | lg lg n \lg \lg n lglgn |
n \sqrt n n | 1 1 1 | n > 1 n>1 n>1 时,不存在 |
n 1 / 3 n^{1/3} n1/3 | 2 2 2 | log 3 lg n \log_3 \lg n log3lgn |
n / lg n n / \lg n n/lgn | 2 2 2 |
解: f c ∗ ( n ) = { 0 i f n ≤ c 1 + f c ∗ ( f ( n ) ) i f n > c f_c^{*}(n) = \left\{\begin{array}{crl} 0 & \mathrm{if} \ \ n \le c \\1+ f_c^{*}(f(n)) & \mathrm{if} \ \ n > c \end{array}\right. fc∗(n)={01+fc∗(f(n))if n≤cif n>c
f c ∗ ( n ) f_c^*(n) fc∗(n) 的值不同时,其相应的 n n n 如下:
f c ∗ ( n ) f_c^*(n) fc∗(n) | n − 1 0 n-1 \\ 0 n−10 | lg n 1 \lg n \\ 1 lgn1 | n / 2 1 n/2 \\ 1 n/21 | n / 2 2 n/2 \\ 2 n/22 | n 2 \sqrt n \\ 2 n2 | n 1 \sqrt n \\ 1 n1 | n 1 / 3 2 n^{1/3} \\ 2 n1/32 | n / lg n 2 n / \lg n \\ 2 n/lgn2 |
---|---|---|---|---|---|---|---|---|
1 1 1 | 1 1 1 | 2 2 2 | 2 2 2 | 4 4 4 | 4 4 4 | — | 8 8 8 | 4 4 4 |
2 2 2 | 2 2 2 | 4 4 4 | 4 4 4 | 8 8 8 | 16 16 16 | — | 512 512 512 | 16 16 16 |
3 3 3 | 3 3 3 | 16 16 16 | 8 8 8 | 16 16 16 | 256 256 256 | — | 51 2 3 512^3 5123 | - |
4 4 4 | 4 4 4 | 65536 65536 65536 | 16 16 16 | 32 32 32 | 65536 65536 65536 | — | - | - |
5 5 5 | 5 5 5 | 2 65536 2^{65536} 265536 | 32 32 32 | 64 64 64 | 6553 6 2 65536^2 655362 | — | - | - |
6 6 6 | 6 6 6 | - | 64 64 64 | 128 128 128 | - | — | - | - |
学习笔记目录:【算法导论】目录