当我应用主定理时,我得到了O(n),但当我试图用递归树来解决它时,我卡住了,找不出任何解决方案。
我试过这个:
T(n) = 5T(n/5) + sqrt(n)
T(n) = 5(5T(n/25) + sqrt(n/5)) + sqrt(n)
= 25T(n/25) + sqrt(5n) + sqrt(n)
T(n) = 5(5(5T(n/125) + sqrt(n/25)) + sqrt(n/5)) + sqrt(n)
= 125T(n/25) + sqrt(25) + sqrt(5n) + sqrt(n)
.
.
.
T(n) = sqrt(n) + sqrt(5n) + sqrt(25n) + sqrt(125n) + sqrt(625n) + sqrt(3125n) + ...
我该如何解决这个GP呢?
发布于 2017-01-25 20:05:53
最终的和有log_5(n) + O(1)项,因为递归是最低点。最大的是sqrt(5^(log_5(n) + O(1)) n) = sqrt(O(n) n) = O(n)。其他的按几何级数递减,因此它们在big-O核算中无关紧要(或者除以1+ sqrt(1/5) + sqrt(1/5^2) + ... = Theta(1))。
https://stackoverflow.com/questions/41860287
复制相似问题