主定理:确定运行时类

时间:2019-05-10 15:20:51

标签: recurrence master-theorem

我正在为考试做练习,并且遇到以下问题,这些问题可以通过使用主定理来解决和找到运行时类:

   a) T(n) = 9 * T(n/3) + n^2     
   b) T(n) = 5 * T(n/25) + log2(n) * (3^(4/5*log9(n)))
   c) T(n) = 16 * T(n/4) + (7n)^1/2 * (n/9 + n*n^1/2) + 2^93 

可以假定T(1)是常数,n是b的效力。

我对a)的处理方法如下:

标识常量:

   a = 9, b = 3, f(n) = n^2

之所以适用第2种情况,是因为:

   f(n) = Θ(n^logb(a))
   n^2 = Θ(n^log3(9)))
   n^2 = Θ(n^2)

应用了第二阶段:

   T(n) = Θ(n^logb(a) * log2(n))
   T(n) = Θ(n^log3(9) * log2(n))
   T(n) = Θ(n^2 * log2(n))

我不太确定如何处理b)和c)。

0 个答案:

没有答案