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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

7.3. Análisar árvores <strong>de</strong> busca<br />

Fato 7.1 (Graham, Knuth e Patashnik [32, cap. 7.3])<br />

Uma expressão para os termos gn <strong>de</strong> sequência gn que satisfaz uma recorrência<br />

po<strong>de</strong> ser obtido da seguinte maneira:<br />

1. Expressa a recorrência em forma <strong>de</strong> uma equação única que é válida<br />

para todo inteiro n, supondo que g−1 = g−2 = · · · = 0.<br />

2. Multiplica a equação por zn e soma sobre todos n. Com isso obtemos<br />

uma equação com a função geradora G(z) = <br />

n gn n no lado da esquerda.<br />

Manipula o lado da direita para obter uma expressão que <strong>de</strong>pen<strong>de</strong> <strong>de</strong><br />

G(z).<br />

3. Resolve a equação para obter uma fórmula fechada para G(z).<br />

4. Expan<strong>de</strong> G(z) em uma série <strong>de</strong> potências. O coeficiente <strong>de</strong> z n é uma<br />

expressão fechada para gn.<br />

Caso G(z) = P (z)/Q(z) é uma função racional temos ainda<br />

Teorema 7.1 (General expansion theorem for rational generating functions [32, cap. 7.3])<br />

Caso G(z) = P (z)/Q(z) com Q(z) = q0(1−ρ1z) m1 · · · (1−ρlz) ml com ρ1, . . . , ρl<br />

números diferentes, e P (z) é um polinômio <strong>de</strong> grau menos que m1 + · · · + ml<br />

então<br />

[z n ]G(z) = f1(n)ρ n 1 + · · · + fl(n)ρ n l para todo n ≥ 0 (7.2)<br />

com fk(n) um polinômio <strong>de</strong> grau mk − 1.<br />

Corolário 7.1 (Graham, Knuth e Patashnik [32])<br />

Dado a recorrência<br />

tn =<br />

<br />

Θ(1) n ≤ max1≤i≤k di<br />

<br />

i∈[k] αitn−di caso contrário<br />

seja α a raiz com a maior valor absoluto com multiplicida<strong>de</strong> l do polinômio<br />

característico<br />

z d − α1z d−d1 − · · · − αkz d−dk<br />

com d = maxk dk. Então<br />

((d1, . . . , dk) é o vetor <strong>de</strong> bifurcação.)<br />

tn = Θ(n l−1 α n ) = Θ ∗ (α n ).<br />

175

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

Saved successfully!

Ooh no, something went wrong!