答案 0 :(得分:0)
对于一般情况(其中n> 1),递归是n + T(n / 2)+ T(n / 2)。 这可以简化为2T(n / 2)+ n。
通过求解递归的主方法,设a = 2,b = 2,f(n)= O(n)。
根据定理,a的log(基数b)是2的log(基数2),显然是1.因此O(n ^(log(b)a))是O(n ^( 1))是O(n)。
主定理的案例2 表示如果f(n)的复杂度等于O(n ^(a(基数b)的a)),那么整个复发复杂度为O(n ^(log(base b)a)* log(n))。
因此整体复杂度为O(n ^(log(b)a)* log(n)) O(n * log(n))。处理复杂性时,我们可以互换地使用log(n)和lg(n)。所以选择C是正确的。
P.S。关于如何应用主方法的非常好的概述是here.