Programação das aulas de MAC5711
Segundo semestre de 2025
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
- 5 de agosto (aula 1):
- Introdução [pdf]
- Por que ignorar as constantes?
- Notação O (Oh grande)
- Lista 1
Slides: [pdf]
Leitura recomendada: CLRS, secs 1.1 Algorithms, 1.2 Algorithms as a technology, 2.1 Insertion sort e 2.2 Analyzing algorithms.
- 7 de agosto (aula 2):
- Notação assintótica
- Crescimento de funções
- Análise de pior caso, melhor caso e caso médio do InsertionSort
Slides: [pdf]
Leitura recomendada: CLRS, sec 3.1 Asymptotic notation e 3.2 Standard notation and common functions.
Se tiver dificuldades com a parte matemática, revise o material
coberto nos apêndices A Summations e parte do C Counting and probability do CLRS.
- 12 de agosto (aula 3):
Slides: [pdf]
Leitura recomendada: CLRS, sec 2.3 Designing algorithms e começo do cap 4 Divide-and-conquer e a sec 4.3 The substitution method.
- 14 de agosto (aula 4):
- Quicksort
- Análises de pior e melhor caso
Slides: [pdf]
Leitura recomendada: sec 4.4 The recursion-tree method e parte do cap 7 Quicksort do CLRS até sec 7.2.
Mais sobre notação assintótica e recorrências num excelente texto de AA do Professor Paulo Feofiloff [pdf].
- 19 de agosto (aula 5):
- Análise probabilística
- Cálculo do máximo
- Análise do caso médio do Quicksort
Slides: [pdf]
Leitura recomendada: CLRS cap 7 Quicksort todo e
CLRS secs 5.1 The hiring problem e 5.2 Indicator random variables, apêndices C.1 a C.3.
- 21 de agosto (aula 6):
- Quicksort probabilístico
- Consumo de tempo esperado
- Select probabilístico
- Consumo de tempo esperado
- Lista 3
Slides: [pdf]
Leitura recomendada: CLRS secs 7.3 e 7.4 do capítulo Quicksort e secs 9.1 e 9.2 do capítulo Medians and Order Statistics.
- 26 de agosto (aula 7):
- Filas de prioridade (heaps)
- Heapsort
- Cota inferior para ordenação
- Lista 4
Slides: [pdf]
Leitura recomendada: CLRS Cap 6 Heapsort e Sec 8.1.
- 28 de abril (aula 8)
- Ordenação em tempo linear
- Análise probabilística do Bucketsort
- Dicas sobre algoritmos de ordenação.
- Lista 5
Slides. [pdf]
Leitura recomendada: CLRS Secs 8.2, 8.3 e 8.4 Sorting in Linear Time e SW cap 2.
Setembro