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.

6. Divisão e conquista<br />

para um ɛ > 0 e a constante x0 e suficientemente gran<strong>de</strong>2 temos que<br />

<br />

T (x) ∈ Θ x p<br />

x <br />

g(u)<br />

1 + du<br />

1 up+1 com p tal que <br />

p<br />

1≤i≤k aibi = 1.<br />

Observação 6.1<br />

As funções hi(x) servem particularmente para aplicar o teorema para com<br />

pisos e tetos. Com<br />

hi(x) = ⌈bix⌉ − bix<br />

(que satisfaz a condição <strong>de</strong> h, porque hi(x) ∈ O(1)) obtemos a recorrência<br />

<br />

T (x) =<br />

Θ(1)<br />

<br />

1≤i≤k<br />

se x ≤ x0<br />

aiT (⌈bix⌉) + g(x) caso contrário<br />

<strong>de</strong>monstrando que obtemos a mesmo solução aplicando tetos. ♦<br />

Exemplo 6.9<br />

Consi<strong>de</strong>re a recorrência<br />

T (n) = T (n/5) + T (7n/10 + 6) + O(n)<br />

(que ocorre no algoritmo da seleção do k-ésimo elemento). Primeiro temos<br />

que achar um p tal que (1/5) p + (7/10) p = 1 que é o caso para p ≈ 0.84. Com<br />

isso, teorema (6.1) afirma que<br />

T (n) ∈ Θ(n p + (1 +<br />

n<br />

c1u/u<br />

1<br />

p+1 du)) = Θ(n p n<br />

(1 + c1<br />

1<br />

u −p du))<br />

= Θ(n p (1 + c1<br />

1 − p n1−p ))<br />

= Θ(n p + c1<br />

n) = Θ(n)<br />

1 − p<br />

Exemplo 6.10<br />

Consi<strong>de</strong>re T (n) = 2T (n/2)+n log n do exemplo 6.7 (que não po<strong>de</strong> ser resolvido<br />

pelo teorema Master). 2(1/2) p = 1 <strong>de</strong>fine p = 1 e temos<br />

T (n) ∈ Θ(n + (1 +<br />

n<br />

2 As condições exatas são <strong>de</strong>finidas em Leighton [47].<br />

140<br />

1<br />

log u/u du)) = Θ(n(1 + [log 2 (u)/2] n 1 )<br />

= Θ(n(1 + log 2 (n)/2))<br />

= Θ(n log 2 (n))<br />

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

Saved successfully!

Ooh no, something went wrong!