解决重现的问题T(n)= 4T(n / 4)+ 3log n

时间:2015-03-02 16:45:50

标签: performance algorithm recursion asymptotic-complexity

我真的对解决上面的复发问题感到沮丧。我试图通过使用Master方法来解决它,但我还没有完成它......

我有一个递归算法,需要3次nlog(三次二进制搜索)来识别四个子问题,每个子问题的大小为n / 4,然后逐个解决它们直到n小于某些由输入给出的常数。所以我得到了这种复发:

T(n) = 4*T(n/4) + 3*log(n)

Base-Case if n < c (c = some constant given by program input):

T(n) = 1

我试图找到递归程序的渐近运行时间,并希望通过使用主定理来解决它。任何人都可以告诉我是否有可能使用这个重复的主定理,如果是的话,那么主定理是哪种情况呢?

感谢所有帮助,谢谢。

1 个答案:

答案 0 :(得分:2)

T(n) = O(n),因为4 base 4的对数是1而3 * log(n)是O(n ^ 0.5)(0.5 <1)。它对应于所描述的here所述的Master定理的第一种情况。