13.04.2013 Views

Algoritmos e complexidade Notas de aula - Arquivo Escolar

Algoritmos e complexidade Notas de aula - Arquivo Escolar

Algoritmos e complexidade Notas de aula - Arquivo Escolar

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Recorrências simplificadas<br />

Formalmente, a equação <strong>de</strong> recorrência do Mergesort é<br />

<br />

Θ(1) se n = 1<br />

T (n) =<br />

T (⌈n/2⌉) + T (⌊n/2⌋) + Θ(n) se n > 1<br />

que simplificaremos para<br />

T (n) = 2 T (n/2) + Θ(n)<br />

6.2. Resolver recorrências<br />

Para simplificar a equação, sem afetar a análise <strong>de</strong> <strong>complexida<strong>de</strong></strong> correspon<strong>de</strong>nte,<br />

em geral:<br />

• supõe-se argumentos inteiros para funções (omitindo pisos e tetos)<br />

• omite-se a condição limite da recorrência<br />

Recorrências: caso do Mergesort<br />

A equação <strong>de</strong> recorrência do Mergesort é<br />

Sendo que:<br />

T (n) = 2 T (n/2) + Θ(n)<br />

• T(n) representa o tempo da chamada recursiva da função para um problema<br />

<strong>de</strong> tamanho n.<br />

• 2 T (n/2) indica que, a cada iteração, duas chamadas recursivas serão<br />

executadas para entradas <strong>de</strong> tamanho n/2.<br />

• Os resultados das duas chamadas recursivas serão combinados (merged)<br />

com um algoritmo com <strong>complexida<strong>de</strong></strong> <strong>de</strong> pior caso Θ(n).<br />

6.2. Resolver recorrências<br />

Métodos para resolver recorrências<br />

Existem vários métodos para resolver recorrências:<br />

• Método da substituição<br />

• Método <strong>de</strong> árvore <strong>de</strong> recursão<br />

• Método mestre<br />

125

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!