对于时间复杂度分析,ima需要求和求助

时间:2011-08-28 12:30:06

标签: algorithm sum time-complexity

对于算法时间复杂度分析我需要知道当我从1运行到logn时函数n / i求和的结果是什么,我看到可信任的实际上是谐波和,但我高度怀疑它...

算法的功能原来是T(n)= 5T(n / 5)+ n / logn

这个问题最初是在算法第二版入门书中找到的

救我! :)

http://faculties.sbu.ac.ir/~tahmasbi/DataStructure/Introduction%20to%20Algorithms-Cormen%20Solution.pdf

第58页的

,有一句话说:

= n * sigma n / i,其中i从1变为logn

= n * sigma 1 / i,其中i从1变为logn

这是我唯一有问题的部分....因为他们所做的就是从sigma中取出那个n,但是它去了哪里?为什么让它消失是真的?

与他们所说的相反,我认为它应该是这样的:

= n * sigma n / i,其中i从1变为logn

= n * n * sigma 1 / i,其中i从1变为logn

= n ^ 2 * sigma 1 / i,其中i从1变为logn

1 个答案:

答案 0 :(得分:0)

确实是谐波总和:

n/1 + n/2 + ... + n/logn = n* [ 1 + 1/2 + ... + 1/logn] = n*H(logn)其中H(logn)是登录harmonic number

这本书使用了H(m) = theta(logm),因此H(logn) = theta(loglogn)。总的来说,我们得到:T(n) = n*H(logn) = n*theta(loglogn) = theta(n*loglogn)