Aulas |
Assunto |
1 |
Introdução: Ordenação por Inserção (análise de tempo e correção) |
2 |
Introdução: Ordenação por Inserção (pior caso e melhor caso) |
3 |
Complexidade de Tempo (algoritmos recursivos: Torre de Hanoi) |
4 |
Notação Assintótica |
5 |
Divisão e Conquista (Algoritmo MergeSort) |
6 |
Resolução de Recorrências: Árvore de Recursão |
7 |
Resolução de Recorrências: Teorema Mestre |
8 |
Algoritmo HeapSort |
9 |
Algoritmo Quick Sort |
10 |
Algoritmo Quick Sort - Análise de pior caso e caso médio |
11 |
Limite inferior para ordenação e algoritmos lineares (pdf) |
12 |
Outros algoritmos de divisão e conquista |
13 |
Exercícios |
14 |
Revisão para a Prova |
15 |
1o prova (notação assintótica, recorrências, ordenação, divisão e conquista) |
16 |
Correção de exercícios |
17 |
Programação Dinâmica: Fibonacci e Linha de Montagem |
18 |
Programação Dinâmica: Subestrutura Ótima |
19 |
Programação Dinâmica: Subsequência crescente máxima |
20 |
Programação Dinâmica: Multiplicação de sequências de matrizes |
21 |
Programação Dinâmica: Algoritmo de Floyd |
22 |
Algoritmos Gulosos: Seleção de Atividades e Escalonamento de tarefas |
23 |
Algoritmos Gulosos: Códigos de Huffman e outros problemas |
24 |
Algoritmos Gulosos: Algoritmos de Prim e Kruskal |
25 |
Algoritmos Gulosos: Algoritmos de Dijkstra e Bellman-Ford |
26 |
Exercícios |
27 |
Exercícios |
28 |
Revisão para prova |
29 |
2o prova (programação dinâmica e algoritmos gulosos) |
30 |
Classes de Complexidade de Tempo: Introdução |
31 |
Classes P e NP |
32 |
Classes P e NP |
33 |
Redução Polinomial: SAT, 3-SAT e CLIQUE |
34 |
Classe NP-Completa |
35 |
NP-Completude: Clique maxima e Cobertura maxima de vértices |
36 |
NP-Completude: Caminho hamiltoniano |
37 |
NP-Completo: Soma de subconjunto |
38 |
Problemas NP-Difíceis e problemas intratáveis |
39 |
Exercícios |
40 |
Revisão para a prova |
41 |
3o prova (Classes de complexidade de tempo, reduções polinomiais) |
42 |
Exercícios |
43 |
Exercícios |
44 |
Exercícios |
avaliação final |
AF |