算法导论A.1 Exercises 答案
A.1-1
令$g_k(i)=O(f_k(i))$,那么根据符号$O$的定义,$\exists c_1,c_2,\dots,c_n,m_1,m_2,\dots,c_m>0,\forall n\ge m_k,0\le g_k(n)\le c_kf_k(n)$成立。
令$\displaystyle{m=\max{k=1}^n {m_k},c=\max{k=1}^n{c_k}}$。根据求和的线性性质,对于$\forall n\ge m$,如下不等式成立:
因此$\displaystyle{\sum{k=1}^n O(f_k(i))}=O\left(\sum{k=1}^n f_k(n)\right)$。
A.1-2
$\begin{aligned}
\sum{k=1}^n(2k-1)&=2\left(\sum{k=1}^nk\right) -n\
&=n(n+1)-n\
&=n^2
\end{aligned}$
A.1-3
代入$x=10,n=9$,那么有$111111111=\dfrac{10^{10}-1}{9}$。级数的第$k$项表示这个数十进制数下的第$k$位为$1$.
A.1-4
令$f(x)=\sum_{k=0}^{\infty} x^k=\dfrac{1}{1-x}$。可以发现,这个值是$f\left(-\dfrac{1}{2}\right)$。
因此,
A.1-5
由于$f(x)=x^c$是递增的,因此考虑使用式子$(A.18)$进行逼近。
上界:
下界:
最终可以得到:
并且有$\dfrac{n^{c+1}}{c+1}=\Omega(n^{c+1}),\dfrac{(n+1)^{c+1}-1}{c+1}=O(n^{c+1})$,因此最终有:
A.1-6
等式$(A.11)$已有:
对以上式子两边进行求导,得到:
两边乘上$x$后得到最终答案(并且$|x|<1$):
A.1-7
上界:
其中,$(A)$的变化使用了题目A-1.5的结论。
下界:
假设前$\dfrac{n}{2}$项的值都放缩到$0$,后$\dfrac{n}{2}$项的值都放缩到$\dfrac{n}{2}\lg \dfrac{n}{2}$。
因此有:
$\star$ A.1-8
可以观察出,级数$\sum_{k=1}^n\dfrac{1}{2k-1}$与调和数的关系满足:
因此,
$\begin{aligned}
\sum{k=1}^n\dfrac{1}{2k-1}&=H_n-\dfrac{H{n/2}}{2}\
&=\ln n-\dfrac{\ln n/2}{2}+O(1)\
&=\ln n-\dfrac{\ln n-\ln 2}{2}+O(1)\
&=\dfrac{\ln n}{2} + O(1)\
&=\ln(\sqrt{n}) + O(1)
\end{aligned}$
$\star$ A.1-9
考虑使用列项相消解决,令$\dfrac{ak+b}{2^k}-\dfrac{a(k+1)+b}{2^{k+1}}=\dfrac{k-1}{2^k}$,那么通过待定系数法,可以解出来:
$a=2,b=0$
因此,
$\star$ A.1-10
不难发现,当$|x|<1$时,级数$\sum{k=1}^{\infty} 2k\cdot x^{2k}$和$\sum{k=1}^{\infty} x^{2k}$都是收敛的。
分别将两部分的计算结果相加就可以得到原级数$\sum_{k=1}^{\infty} (2k+1)\cdot x^{2k}$的答案。
$\begin{aligned}
\sum{k=1}^{\infty} x^{2k}&=\sum{k=0}^{\infty} x^{2k} -1\
&=\sum_{k=1}^{\infty} (x^2)^k - 1\
&=\dfrac{1}{1-x^2}-1
\end{aligned}$
$\begin{aligned}
\sum{k=1}^{\infty} 2k\cdot x^{2k}&=\sum{k=0}^{\infty} 2k\cdot x^{2k}\
&=2\sum_{k=0}^{\infty} k\cdot (x^2)^k\
&=\dfrac{2x^2}{(1-x^2)^2}
\end{aligned}$
因此最终有
$\star$ A.1-11
$\begin{aligned}
\prod{k=2}^n\left(1-\dfrac{1}{k^2}\right)&=\prod{k=2}^n\dfrac{k-1}{k} \cdot \dfrac{k+1}{k}\
&=\dfrac{(n-1)!\cdot (n+1)!/2}{(n!)^2}\
&=\dfrac{1}{n}\cdot (n+1)\cdot\frac{1}{2}\
&=\dfrac{n+1}{2n}
\end{aligned}$