調和級數的複雜度

for (int i = 1;i <= n;i++)
	for (int j = 1;j <= n/i;j++) ...

是調和級數級別的複雜度,可以由調和級數近似求和公式得到

\(T(n)=n\sum_{i=1}^n \frac{1}{n}=O(n \ln n)\)

具體過程如下

\[\begin{eqnarray*} && \ \ \ \sum_{i=1}^n\frac{1}{i} \\ && =\sum_{i=1}^n\int_i^{i+1}\frac{1}{\lfloor x\rfloor}dx \\ && =\int_1^{n+1}\frac{1}{x}-\frac{1}{x}+\frac{1}{\lfloor x\rfloor}dx \\ && =\int_1^{n+1}\frac{1}{x}dx+\int_1^{n+1}\frac{1}{\lfloor x\rfloor}-\frac{1}{x}dx \\ && \approx \ln(n+1)+\gamma \end{eqnarray*}\]

其中 \(\gamma \approx 0.5772156649\)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章