Implementação dos laboratórios de MC202 no segundo semestre de 2020.
A lista de tarefas e seus enunciados está disponível em https://www.ic.unicamp.br/~lehilton/mc202ab/tarefas/
- Tarefa 1: Matriz densa
- Tarefa 2: Array
- Tarefa 3: Array, algoritmo on-line de variância de Welford
- Tarefa 4: Matriz densa, backtracking
- Tarefa 5: Bignum (lista ligada) e operações, busca binária (divisão)
- Tarefa 6: Deque
- Tarefa 7: Árvore binária de busca simples
- Tarefa 8: Árvore splay aumentada (multi-set)
- Tarefa 9: Heap binário, Burst Trie, originalmente usava um Beap
- Tarefa 10: Tabela de hashing, hash FNV-1a, BK-tree, distância de levenshtein (DP)
- Tarefa 11: Grafo completo (array dinâmico), Union-Find, algoritmo de Kruskal
- Tarefa 12: Grafo (com "ponteiros"), detecção de ciclos (busca em profundidade), analisador sintático descendente recursivo
- Array: Tarefa 2, Tarefa 3
- Grafo completo (Array dinâmico): Tarefa 11
- Matriz densa: Tarefa 1, Tarefa 4
- Árvore binária de busca simples: Tarefa 7
- Árvore Splay (multi-set, aumentada): Tarefa 8 (originalmente usava uma multi-splay)
- BK-tree: Tarefa 10
- Burst Trie: Tarefa 9
- Heap binário: Tarefa 9 (originalmente usava um beap)
- Grafo (com "ponteiros"): Tarefa 12
- Tabela de hashing: Tarefa 10
- Union-Find: Tarefa 11
- Algoritmo de Kruskal: Tarefa 11
- Algoritmo on-line de variância de Welford: Tarefa 3
- Analisador sintático descendente recursivo: Tarefa 12
- Backtracking: Tarefa 4
- Busca binária: Tarefa 5
- Detecção de ciclos (busca em profundidade): Tarefa 12
- Distância de Levenshtein (DP): Tarefa 10
- Hash FNV-1a: Tarefa 10