我正在为考试做练习,并且遇到以下问题,这些问题可以通过使用主定理来解决和找到运行时类:
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)。