MAC121 Algoritmos e Estruturas de Dados I
[Edição do 2o. Semestre de 2017]
(Página eternamente minimal e em mutação)
Transparências de Sedgewick e Wayne (cópia local)
- Introduction to programming in Java
- Algorithms, 4th edition (para a versão atual, veja http://algs4.cs.princeton.edu/lectures/)
COS126 (Princeton)
COS226 (Princeton)
Documentação de Java
Sinopse das aulas
Agosto
- Aula introdutória. Assuntos administrativos. Tipos abstratos de dados, parte 1
- http://introcs.cs.princeton.edu/java/lectures/31datatype.pdf) Tipos abstratos de dados, parte 2. As classes In e Out (
- Implementação de tipos de dados, parte 1
- Implementação de tipos de dados, parte 2
- Busca e ordenação, parte 1
- Busca e ordenação, parte 2
- Aula cancelada (professor fora do país)
- Aula de Gabriel Ferreira Barros (mergesort, comparables, herança por interfaces, outros tópicos)
Setembro
- Semana da pátria
- Semana da pátria
- Segmento repetido mais longo. Ordenação e estabilidade
- Quicksort
- Quicksort (cont.)
- Aula cancelada (professor fora do país)
- Aula cancelada (professor fora do país)
- Aula de Gabriel Ferreira Barros (system sorts, outros algoritmos de partição, bottom-up mergesort e comentários sobre o Timsort, outros tópicos)
Outubro
- Aula de revisão para a P1
- P1
- Discussão de partes da P1. Pilhas e filas
- Feriado
- Pilhas e filas (continuação)
- Pilhas e filas (parte final)
- Tabelas de símbolos
- Tabelas de símbolos; implementação com ABBs. Aula de Gabriel Ferreira Barros
- notas sobre ABBs aleatórias). Aplicações de tabelas de símbolos. Small world phenomenon (grafos) Tabelas de símbolos; comentários sobre ABBs aleatórias e balanceadas (
Novembro
- Grafos e o small world phenomenon (cont.); busca em largura (BFS)
- Grafos e o small world phenomenon. Busca em profundidade (DFS). Labirintos perfeitos. Percolação (breve recordação; contraste entre busca em largura e busca em profundidade)
- Busca em profundidade (cont.). Componentes conexas. Filas de prioridade. Heaps e heapsort
- https://www.youtube.com/watch?v=kPRA0W1kECg. Discussão do exercício Sliding puzzles Heaps e heapsort (cont.). 15 Sorting Algorithms in 6 Minutes:
- https://algs4.cs.princeton.edu/61event/) Heapsort (cont.). Event-driven simulation (
- Cota inferior para ordenação. String sorts (LSD e String 3-way quicksort)
- https://introcs.cs.princeton.edu/java/16pagerank/, https://introcs.cs.princeton.edu/java/lectures/16pagerank.pdf] String 3-way quicksort (cont.). Random surfer e Pagerank [
- http://www.ams.org/samplings/feature-column/fcarc-pagerank, https://www.rose-hulman.edu/~bryan/google.html]. Web crawling [https://algs4.cs.princeton.edu/42digraph/]. Matrizes esparsas [https://algs4.cs.princeton.edu/35applications/] Random surfer e Pagerank (cont.) [referências:
Dezembro
- Aula de revisão para a P2
- P2
- Knuth [TAOCP, SGB], TeX [TeXBook], CWEB e Dancing links. Exemplos básicos de aplicação: o problema das rainhas e sudoku. O problema da cobertura exata (Aula bônus)
- (Aula bônus) Dancing links. O problema da cobertura generalizado e o problema das rainhas e sudoku
Página principal de MAC121, 2o. semestre de 2017