调和级数为什么是 O(logn) 的

调和级数

调和级数(Harmonic series)定义为

\[H(n)=\sum_{i=1}^n\dfrac 1i \]

\(H\) 发散,证明看百度 .

正片

首先我们把 \(\dfrac 1n\) 拆成积分形式

\[\dfrac 1n=\int_{n}^{n+1}\dfrac1{\lfloor x\rfloor}\mathrm dx \]

于是

\[\begin{aligned}H(n)&=\sum_{i=1}^n\dfrac1i\\&=\sum_{i=1}^n\int_{i}^{i+1}\dfrac1{\lfloor x\rfloor}\mathrm dx\end{aligned} \]

上下界是 \(i,i+1\),显然可以合并

\[H(n)=\int_{1}^{n+1}\dfrac1{\lfloor x\rfloor}\mathrm dx \]

拆一下

\[\begin{aligned}H(n)&=\int_{1}^{n+1}\left(\dfrac1x+\dfrac1{\lfloor x\rfloor}-\dfrac1x\right)\mathrm dx\\&=\int_{1}^{n+1}\dfrac1x\mathrm dx+\int_{1}^{n+1}\left(\dfrac1{\lfloor x\rfloor}-\dfrac1x\right)\mathrm dx\end{aligned} \]

左边是众所周知的积分,右边是一个魔法 .

右边有一个神秘结论(收敛):

\[\gamma = \lim_{n\to \infty}\int_{1}^{n}\left(\dfrac1{\lfloor x\rfloor}-\dfrac1x\right)\mathrm dx= 0.577\dots \]

于是,

\[\begin{aligned}H(n) &\approx \ln(n+1) + \gamma\\&=O(\log n)\end{aligned} \]

Q.E.D.

posted @ 2022-02-10 15:09  yspm  阅读(1193)  评论(0编辑  收藏  举报
😅​