next up previous
Next: Sort2 Up: Sort1 Previous: Merge

Sort1

Uma vez sabendo a complexidade de tempo do procedimento MERGE, sigamos para o cálculo da complexidade de tempo do algoritmo Sort1 como um todo.


\begin{displaymath}
T\left( n\right) =2T(n/2)+O(n)\end{displaymath}

Aplicando o Master Theorem[1, p62], tendo que \( a=2 \), \( b=2 \) e \( f\left( n\right) =O\left( n\right) \), chegamos ao resultado que


\begin{displaymath}
f\left( n\right) =\Theta \left( n^{\log _{b}a}\right) \Right...
...eft( n^{\log _{2}2}\log n\right) =\Theta \left( n\log n\right) \end{displaymath}

Já temos uma idéia do que procurar. Desenvolvamos a equação recursiva por substituições:

\begin{eqnarray*}
T\left( n\right) & = & 2T(\frac{n}{2})+O(n)\\
& = & 4T\left(...
...t) & = & 2^{i}T\left( \frac{n}{2^{i}}\right) +iO\left( n\right)
\end{eqnarray*}



Fazendo \( i=\lg n \)

\begin{eqnarray*}
T\left( n\right) & = & n+O(n)\lg n\\
& = & o(n\lg n)
\end{eqnarray*}





Tiago Macambira 2003-05-23