递归关系:T(n / 16t)+ n log n

时间:2014-11-25 11:38:03

标签: algorithm big-o recurrence master-theorem

可以应用主定理吗?

或者对于T (n) = 2T (n/16) + n log n说,主定理在这里是如何应用的?

我得到a = 2b = 16,我不确定ck

2 个答案:

答案 0 :(得分:1)

要解决这种递归关系T(n) = a⋅T(n/b) + f(n),您必须计算e = logb(a)

然后(对于ε > 0):

  1. f(n) ∈ O(ne - ε)T(n) ∈ Θ(ne)
  2. f(n) ∈ Θ(ne)T(n) ∈ Θ(ne⋅log(n))
  3. f(n) ∈ Ω(ne + ε)T(n) ∈ Θ(f(n))
  4. 有关详细信息,请参阅Masters Theorem

    因此,在您的情况下:a = 2b = 16e = log16(2) = 0.25适用于案例3,
    因此T(n)位于Θ(n log n)

答案 1 :(得分:0)

即使log(n)项不存在,每个级别的每个子问题的工作减少也占主导地位(b> a)。因此,在我看来,复杂性应由最高级别的工作决定,即O(nlogn)。