如何计算算法时间复杂度

时间:2016-11-15 09:17:55

标签: algorithm time-complexity big-o

我正在尝试用Karatsuba算法复用两个大整数。 我知道O(n)是时间复杂度,T(n)是最坏情况下的时间复杂度。

有人可以解释原因:

T(n) = 4T(n/2) + O(n) is O(n^2)

并且

T(n) = 3T(n/2) + O(n) is O(n^1.59)

1 个答案:

答案 0 :(得分:1)

T(n) = 4T(n/2) + O(n)

根据法师定理:

T(n) is O(n^log_2(4)) = O(n^2)

T(n) = 3T(n/2) + O(n)

T(n) = O(log_2(3)) ~ O(n^1,5849)

所以你可以把它四舍五入到1.590