一片伟大的净土

灵魂的归处,肉体的坟墓。

算法设计与分析-Master定理

知乎:主定理(Master Theorem)
tip:对于$T(n)=2T(3n/2)$来说,其中$b=2/3$

利用主定理求下列递归方程的时间复杂度:

$T(n)=5T(n/2)+\theta(n^2)$

$a=5,b=2,f(n)=n^2$
$n^{log_b^a}=n^{log_2^5}>f(n)$
$\therefore T(n)=\theta(n^{log_2^5})$

$T(n)=2T(n/2)+n$

$a=2,b=2,f(n)=n$
$n^{log_b^a}=n=f(n)$
$\therefore T(n)=\theta(nlogn)$

$T(n)=5T(n/2)+\theta(n^3)$

$a=5,b=2,f(n)=n^3$
$n^{log_b^a}=n^{log_2^5}<f(n)$
$\therefore T(n)=\theta(n^3)$