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.

2. Análise <strong>de</strong> <strong>complexida<strong>de</strong></strong><br />

1 i f l < r then<br />

2 m := P a r t i t i o n ( l , r , a ) ;<br />

3 Quicksort (l ,m − 1 ,a ) ;<br />

4 Quicksort (m + 1 ,r ,a ) ;<br />

5 end i f<br />

<strong>de</strong>semp[QS](al, . . . , ar) = <strong>de</strong>semp[P ](al, . . . , ar)<br />

+ <strong>de</strong>semp[QS](al, . . . , am−1) + <strong>de</strong>semp[QS](am+1, . . . , ar)<br />

Complexida<strong>de</strong> pessimista<br />

<strong>de</strong>semp[QS](al, . . . , ar) = 0 se l ≥ r<br />

• Qual a <strong>complexida<strong>de</strong></strong> pessimista?<br />

• Para entrada d = (a1, . . . , an), sejam dl = (al, . . . , am−1) e dr = (am+1, . . . , ar)<br />

cp[QS](n) = max <strong>de</strong>semp[P ](d) + <strong>de</strong>semp[QS](dl) + <strong>de</strong>semp[QS](dr)<br />

d∈Dn<br />

= n + max <strong>de</strong>semp[QS](dl) + <strong>de</strong>semp[QS](dr)<br />

d∈Dn<br />

= n + max<br />

1≤i≤n cp[QS](i − 1) + cp[QS](n − i)<br />

• cp[QS](0) = cp[QS](1) = 0<br />

Esse análise é válida para escolha do maior entre os dois primeiros elementos<br />

como pivô. Também vamos justificar o último passo na análise acima com<br />

mais <strong>de</strong>talhes. Seja Dn = <br />

i Di n uma partição das entradas com tamanho n<br />

tal que para d ∈ Di n temos |dl |= i − 1 (e conseqüentemente |dr |= n − i).<br />

Então<br />

56<br />

max <strong>de</strong>semp[QS](dl) + <strong>de</strong>semp[QS](dr)<br />

d∈Dn<br />

= max<br />

1≤i≤n max<br />

d∈Di <strong>de</strong>semp[QS](dl) + <strong>de</strong>semp[QS](dr) separando Dn<br />

n<br />

= max<br />

1≤i≤n max<br />

d∈Di cp[QS](i − 1) + cp[QS](n − i)<br />

n

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

Saved successfully!

Ooh no, something went wrong!