【问题标题】:What are the asymptotic upper and lower bounds for T(n) = 2T(n/2) + n lg lg n?T(n) = 2T(n/2) + n lg lg n 的渐近上限和下限是多少?
【发布时间】:2011-06-14 12:38:57
【问题描述】:

递归关系

T(n) = 2T(n/2) + n lg lg n

(其中 lg 是以 2 为底的对数)可以使用 master theorem 解决,但我不太确定答案。我找到了我的答案,但为了防止信息级联,我没有在这里提及。请帮我找到上面的大 O 和 Ω。

【问题讨论】:

  • 我认为你最好发表你自己的想法,现在看起来你只是逐字地提出你的作业而没有自己做任何事情。顺便说一句,nlglgn 应该是什么?
  • @Bart 提到的意思是“不仅要发布结果,还要发布你的推理”。不要害怕犯错,因为这比懒惰要好得多,而且也不在乎影响他人,因为这里的很多人都是影响老板的冠军,并且知道这个行业。
  • 猜测一下,nlglgn 应该是 n * log (log(n))
  • @borrible,是的,你很可能是正确的,但如果 OP 更清楚地表达他/她自己,这并没有什么坏处。
  • 嗨,很抱歉有歧义。 lg n 表示底数为 2。此外,我得到以下内容:big O (n^2) 和 omega is nlog(base10)n 。

标签: algorithm big-o asymptotic-complexity master-theorem


【解决方案1】:

主定理中的 3 种情况都不适用

T(n)=2 T(n/2) + n log(log n)

(任意基数都无所谓)

案例 1:f(n)=n log(log n) 比 n“大”log2 2=n1

案例2:f(n)不适合n logk(n)

情况3:f(n)小于n1+e

U(n)=2 U(n/2) + n log n
L(n)=2 L(n/2) + n

您可以证明:U(n) >= T(n)L(n) <= T(n)。所以 U 给出了 T 的上限,L 给出了 T 的下限。

对 U(n) 应用主定理,得到

案例 2:f(n)=n log n=Θ(n1 log1 n) 因此 U(n)=Θ(n log 2 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)。

【讨论】:

    猜你喜欢
    • 2012-06-24
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 2020-12-25
    • 2021-02-09
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    相关资源
    最近更新 更多