Programação das aulas de MAC0338
Segundo semestre de 2024
CLRS refere-se ao livro de Cormen, Leiserson, Rivest e Stein,
Introduction to Algorithms, 3a edição
(cuidado que as seções mudam de uma edição para a outra),
SW refere-se ao livro de Sedgewick e Wayne, Algorithms, e
KT refere-se ao livro de Kleinberg e Tardos, Algorithm Design.
Agosto
Setembro
- 1 e 7 de setembro: Semana da Pátria
- 10 de setembro
Matéria da prova: notação assintótica,
recorrências, análise de pior caso, de melhor caso, de caso médio,
ordenação, análise probabilística, divisão e conquista.
- 12 de setembro (aula 9)
- Divisão e conquista: Karatsuba e Strassen
Slides: [pdf]
Leitura recomendada: KT Sec 5.5 Integer Multiplication
e CLRS Sec 28.2 Strassen's algorithm for matrix multiplication.
Veja também a implementação deste algoritmo e outros na
GNU Multiple Precision Arithmetic Library.
- 17 de setembro (aula 10)
- Programação dinâmica: introdução
- Corte de hastes
- Lista 5 - para você ir olhando
Slides: [pdf]
Leitura recomendada: CLRS Sec 15.1 Dynamic Programming.
- 19 de setembro (aula 11)
- Programação dinâmica
- Produto de cadeias de matrizes
- Subsequência comum mais longa - discussão inicial
- Lista 5 - exercícios para entregar escolhidos
Slides: [pdf]
Leitura recomendada: CLRS secs 15.2 a 15.3.
- 24 de setembro (aula 12)
- Programação dinâmica
- Subsequência comum mais longa
Slides: [pdf]
Leitura recomendada: CLRS Secs 15.4.
- 26 de setembro (aula 13):
- Programação dinâmica
- ABB ótima
Slides: [pdf]
Leitura recomendada: CLRS Sec 15.5.
Outubro