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.

Conteúdo<br />

5. Programação dinâmica 95<br />

5.1. Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95<br />

5.2. Comparação <strong>de</strong> sequências . . . . . . . . . . . . . . . . . . . . . 99<br />

5.2.1. Subsequência Comum Mais Longa . . . . . . . . . . . . 99<br />

5.2.2. Similarida<strong>de</strong> entre strings . . . . . . . . . . . . . . . . . 104<br />

5.3. Problema da Mochila . . . . . . . . . . . . . . . . . . . . . . . . 108<br />

5.4. Multiplicação <strong>de</strong> Ca<strong>de</strong>ias <strong>de</strong> Matrizes . . . . . . . . . . . . . . . 109<br />

5.5. Tópicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113<br />

5.5.1. Algoritmo <strong>de</strong> Floyd-Warshall . . . . . . . . . . . . . . . 113<br />

5.5.2. Caixeiro viajante . . . . . . . . . . . . . . . . . . . . . . 115<br />

5.5.3.<br />

Árvore <strong>de</strong> busca binária ótima . . . . . . . . . . . . . . 116<br />

5.5.4. Caminho mais longo . . . . . . . . . . . . . . . . . . . . 120<br />

5.6. Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121<br />

6. Divisão e conquista 123<br />

6.1. Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123<br />

6.2. Resolver recorrências . . . . . . . . . . . . . . . . . . . . . . . . 125<br />

6.2.1. Método da substituição . . . . . . . . . . . . . . . . . . 126<br />

6.2.2. Método da árvore <strong>de</strong> recursão . . . . . . . . . . . . . . . 131<br />

6.2.3. Método Mestre . . . . . . . . . . . . . . . . . . . . . . . 134<br />

6.2.4. Um novo método Mestre . . . . . . . . . . . . . . . . . . 139<br />

6.3. <strong>Algoritmos</strong> usando divisão e conquista . . . . . . . . . . . . . . 141<br />

6.3.1. O algoritmo <strong>de</strong> Strassen . . . . . . . . . . . . . . . . . . 141<br />

6.3.2. Menor distância . . . . . . . . . . . . . . . . . . . . . . 142<br />

6.3.3. Seleção . . . . . . . . . . . . . . . . . . . . . . . . . . . 144<br />

6.3.4. Convoluções . . . . . . . . . . . . . . . . . . . . . . . . . 146<br />

6.4. <strong>Notas</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150<br />

6.5. Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150<br />

7. Árvores <strong>de</strong> busca, backtracking e branch-and-bound 153<br />

7.1. Backtracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153<br />

7.1.1. Exemplo: Cobertura por vértices . . . . . . . . . . . . . 158<br />

7.2. Branch-and-bound . . . . . . . . . . . . . . . . . . . . . . . . . 163<br />

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

8. <strong>Algoritmos</strong> <strong>de</strong> aproximação 177<br />

8.1. Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177<br />

8.2. Aproximações com randomização . . . . . . . . . . . . . . . . . 184<br />

8.3. Aproximações gulosas . . . . . . . . . . . . . . . . . . . . . . . 185<br />

8.4. Esquemas <strong>de</strong> aproximação . . . . . . . . . . . . . . . . . . . . . 192<br />

8.5. Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194<br />

2

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

Saved successfully!

Ooh no, something went wrong!