关于时间复杂度和主定理的问题

时间:2018-11-10 13:37:30

标签: algorithm master-theorem

我对算法还很陌生,遇到一个我不知道如何应用主定理的问题:

我们有一个算法A,它通过创建3个大小为P的子问题,递归求解每个子问题,然后在 {{1 }} 时间。与 2n/3 相比,该算法的运行时间会更好吗?证明你的答案。

我在这里知道的是O(nlogn)O(n),但是我该如何处理 a=3

1 个答案:

答案 0 :(得分:2)

因此,递归公式为T(n) = 3T(2n/3) + O(n\log(n))。作为f(n) = O(n\log(n)) = O(n^{\log(3)/\log(1.5)}) ~ O(n^{2.7}),从主定理中我们可以说T(n) = \Theta(n^{2.7})。 因此,T(n) = \Omega(n^{2.7})