我正在尝试更好地理解主定理和时间复杂度。我找到一些在线练习的例子。请问我的答案正确吗?
T(N) = 3T(N/3) + O(N)
时间复杂度为Θ(n),因为log(base 3) 3 = 1。因此,Θ(n^1) + O(N) 简化为 Θ(n)。
T(N) = 3T(2N/3) + O(1)
我不理解这个。我知道这是傻瓜排序算法,但是如果应用主定理,a和b都是3,那么log(基数3)3 = 1,使得Θ(n)?我知道这是不正确的,但我很难理解主定理。
T(N) = 4T(N/2) + O(N)
时间复杂度为Θ(n^2),因为log(base 2) 4 = 2。那么,N^(log(base 2) 4) = N^2。
T(N) = 2T(N/2) + O(N log(N))
这里我认为它仅仅是O(N log(N)),因为2的对数(以2为底)为1。