T(n) = 2T(n/2) + 的渐近上限和下限是多少? nlglgn?
递推关系
T(n) = 2T(n/2) + n lg lg n
(其中 lg 是基数2)可以使用主定理来解决,但我不太确定答案。我已经找到了答案,但为了防止信息级联,我不在这里提及。请帮我找到上面的大O和Ω。
The recurrence relation
T(n) = 2T(n/2) + n lg lg n
(where lg is logarithm to base 2) can be solved using the master theorem but I am not very sure about the answer. I have found my answer but am not mentioning it here in order to prevent information cascades. Please help me find the big O and Ω for above.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
主定理中的 3 种情况都不适用
(对于任意基数,这并不重要)
情况 1:f(n)=n log(log n) 比 nlog2 2 '更大' support>=n1
情况 2:f(n) 不适合 n logk(n)
情况 3:f(n) 小于 n1 +e
您可以证明:
U(n) >= T(n)
和L(n) <= T(n)
。因此,U 给出 T 的上限,L 给出 T 的下限。应用 U(n) 的主定理,给出
情况 2:f(n)=n log n=θ(n1 log 1 n) 因此 U(n)=θ(n log2 n)
应用 L(n) 的主定理,给出
情况 2:f(n)=n =θ(n1 log0 n) 因此 L(n)=θ(n log n)
因为
L(n)<=T(n) <=U(n)
得出 T(n)=O(n log2 n) 和 T(n)=Ω(n log n)另外,请注意 O (log2n)=O((log n)/log 2)=O((log n) * c)=O(log n)。
None of the 3 cases in the master theorem apply for
(With arbitrary base, it doesn't really matter)
Case 1: f(n)=n log(log n) is 'bigger' than nlog2 2=n1
Case 2: f(n) does not fit n logk(n)
Case 3: f(n) is smaller than n1+e
You can show that:
U(n) >= T(n)
andL(n) <= T(n)
. So U gives a upper bound, and L a lower bound for T.Applying the master theorem for U(n), gives
Case 2: f(n)=n log n=Θ(n1 log1 n) thus U(n)=Θ(n log2 n)
Applying the master theorem for L(n), gives
Case 2: f(n)=n =Θ(n1 log0 n) thus L(n)=Θ(n log n)
Because
L(n)<=T(n)<=U(n)
it follows that T(n)=O(n log2 n) and T(n)=Ω(n log n)Also, note that O(log2n)=O((log n)/log 2)=O((log n) * c)=O(log n).