CCM128 Computação II
[Edição do 1o. Semestre de 2020]
(Página eternamente minimal e em mutação)
Transparências de Sedgewick e Wayne (cópia local)
Documentação de Java
Sinopse das aulas
Fevereiro
- Observações iniciais. Busca linear/sequencial. Busca binária
- Busca binária
Março
- Análise de complexidade da busca binária. Ordenação por inserção
- Ordenação por inserção (cont.). Ordenação por intercalação (mergesort)
- Mergesort (cont.). Comparação de algoritmos de ordenação: visite https://www.toptal.com/developers/sorting-algorithms. Visualização de repetições: http://www.bewitched.com/match
- Repetições em strings. Vetor de sufixos (implementação elementar)
- Experimentalmente, a aula foi via Google Hangouts
Meet. Continuamos a estudar o problema do segmento repetido mais
longo (LRS). Vimos uma implementação baseada em criar um tipo de
dado que chamamos de
Suffix. Vimos como implementar tipos de dados que sãoComparable. [Gravação da aula] - Pilhas e filas (CS.12.StacksQueues.pdf). [Gravação da aula]
- Pilhas e filas (cont.). Algoritmo de Dijkstra para avaliação de expressões infixas. Implementação inicial de pilhas e filas. Listas ligadas. Implementação de pilhas e filas com listas ligadas [Gravação da aula]
- Pilhas e filas (cont.). Listas ligadas. Implementação de pilhas e filas com listas ligadas. Introdução às tabelas de símbolos (CS.13.SymbolTables.pdf) [Gravação da aula]
- Tabelas de símbolos (cont.) [Gravação da aula]
Abril
- Tabelas de símbolos (cont.) [Gravação da aula]
- Semana Santa
- Semana Santa
- Tabelas de símbolos (cont.)
- Árvores binárias aleatórias (veja estas notas). Futuramente, discutiremos árvores rubro-negras (veja esta seção de Algorithms, 4th ed., de Sedgewick e Wayne). O fenômeno do mundo pequeno e grafos: https://www.ime.usp.br/~yoshi/2013ii/ccm118/Sedgewick/Slides/45graph.pdf
- Tiradentes
- Grafos e o fenômeno do mundo pequeno (cont.). Continuaremos a seguir essas transparências
- Kevin Bacon game e busca em largura em grafos
- Busca em largura em grafos (observações finais). Um exercício (para ser feito "em sala": S04)
Maio
- Árvores binárias de busca (revisitação): operações ordenadas e remoção de ABBs. Usaremos essas transparências. Aliás, a partir dessa aula, passaremos a usar as transparências de Algs4 (Algs4: Algorithms, 4ed)
- Hibbard deletion. Algumas outras aplicações de tabelas de símbolos (vimos parte de dessas transparências). Exercício "em sala": S05
- Árvores 2-3 e árvores rubro-negras (introdução)
- Exercício "em sala": S06
- Tabelas de hashing (tabelas de espalhamento)
- Tabelas de hashing (cont.)
- Tabelas de hashing (cont.)
- Ordenação, via Algs4. Recaptulação de ordenação por inserção e por intercalação (mergesort)
Junho
- Quicksort
- Quickselect, refinamentos (3-way partitioning); comparações
- Semana de break
- Semana de break
- Filas de prioridade; implementações elementares e implementação com heaps binários
- Heaps e heapsort; uma aplicação de filas de prioridade (Sudoku)
- Event-driven simulation
- Não haverá aula (a aula de Física II será no horário de Computação II)
- …
Julho
- (Não haverá aula)
- (Não haverá aula)
- (Não haverá aula)
- Apresentações do E15
- Apresentações do E15 (cont.)
Página principal de CCM128, 1o. semestre de 2020