【发布时间】:2014-11-12 11:52:23
【问题描述】:
我被要求分析以下递归函数的渐近时间复杂度:
for-all k ≥ 1:
T(n) = n + T(n/2) + T(n/4) + T(n/8) + .... + T(n/2^k)
我能够证明:T(n) = O(n⋅log n) 和 T(n) = Ω(n),
但我正在寻找更紧密的界限(Big Theta)。
【问题讨论】:
-
您的公式看起来好像
T的表达式是无限的——对吗? -
函数不是无限的,因为最后一个加数是
T(n/2^k)。 -
然而
k没有界限,正如您自己写的那样:“for-all k >= 1” -
是的,但我们需要针对任何给定 k 的解决方案。
-
那么,您正在查看一个函数族 Tk,对于每个族,k 是一个常数?
标签: recursion time big-o asymptotic-complexity big-theta