Estruturas de Dados Avançadas
Segundo semestre de 2021
Todas as implementações deverão ser feitas em python, C ou C++,
usando apenas bibliotecas padrão.
Periodicamente, cada aluno será chamado para apresentar
a sua implementação, os testes que está desenvolvendo, etc.
As tarefas são individuais,
e alunos envolvidos em cola serão
sumariamente reprovados na disciplina.
Se tiver qualquer dúvida sobre o que pode ou não fazer
nas suas implementações, basta perguntar no fórum.
Tarefas:
- Implementação de deque persistente usando skew binary representation.
- Implementação de uma ABB simples ou funcional (persistente)
ou parcialmente persistente pela técnica do node copying.
- Implementação de pilha retroativa.
Se a implementação usar uma ABB simples (não balanceada),
vale nota parcial.
- Implementação de fila de prioridade parcialmente retroativa.
Se a implementação usar uma ABB simples (não balanceada),
vale nota parcial.
- Implementação de árvore de segmentos estática e dinâmica.
- Implementação de um heap cinético.
Se implementar um heap cinético sem inserção/remoção,
que não precisa de identificadores, vale nota parcial.
- Implementação de uma árvore splay e de uma treap,
com contadores para comparação do número de nós acessados.
- Implementação de florestas dinâmicas usando Euler tour trees, implementadas com uma splay tree ou uma treap.
- Implementação da construção trivial do vetor de sufixos de um texto T (ordene os sufixos de T)
e do vetor LCP, e implementação da construção linear, a partir do vetor LCP, dos vetores LLCP e RLCP para o texto T,
e busca de uma palavra P no texto T em tempo O(|P| + log |T|),
usando estes vetores (busca simples, número de ocorrências e lista de ocorrências).
- Implementação da construção em tempo linear da árvore de sufixos de T a partir do
vetor de sufixos e vetor LCP, e busca, usando a árvore de sufixos, do número de ocorrências
de uma palavra P no texto T em tempo O(|P| + log |A|), onde A é o alfabeto.
- Implementação da construção em tempo linear do vetor de sufixos de um texto T
e do vetor LCP a partir do vetor de sufixos.
Se implementar só a construção linear do LCP a partir do vetor de sufixos,
vale nota parcial.
Instruções:
- Interfaces a serem implementadas.
- Exemplo de arquivo de entrada de teste para pilha e saída correspondente. Faça algo semelhante para cada uma das EDs que você implementar.
Entrevistas:
Datas e horários da segunda entrevista:
- Sexta, 24/9, às 9h30: Luca Lopes Barcelos
- Sexta, 24/9, às 14h: Bruno Hideki Akamine
- Sexta, 24/9, às 14h15: Joao Vitor Magalhaes Leite
- Sexta, 24/9, às 14h45: Arthur Prado de Fazio
- Sexta, 24/9, às 15h: Ygor Sad Machado
- Segunda, 27/9, às 15h45: Marcos Siolin Martins
- Sexta, 1/10, às 9h20: Eduardo Ribeiro Silva de Oliveira
- Sexta, 1/10, às 16h00: Gustavo Santos Moraes
- Sexta, 1/10, às 16h20: Luã Nowacki Scavacini Santilli
- Sexta, 1/10, às 16h40: Miguel Pereira Ostrowski
- Segunda, 4/10, às 15h50: Lucas Hiroshi Hanke Harada
- Segunda, 4/10, às 16h10: Marco Alves de Alcantra
- Segunda, 4/10, às 16h30: Maximilian Cabrajac Goritz
Datas e horários da primeira entrevista:
- Quinta, 9/9, às 16h30: Felipe Kallas Silva
- Quinta, 9/9, às 17h: Bruno Hideki Akamine
- Quinta, 9/9, às 17h30: Arthur Prado de Fazio
- Quinta, 9/9, às 18h: Ygor Sad Machado
- Sexta, 10/9, às 14h: Lucas Hiroshi Hanke Harada
- Sexta, 10/9, às 14h30: Marco Alves de Alcantra
- Sexta, 10/9, às 15h: Maximilian Cabrajac Goritz
- Sexta, 10/9, às 15h30: Miguel Pereira Ostrowiski
- Sexta, 10/9, às 16h: Marcos Siolin Martins
- Sexta, 10/9, às 16h30: Eduardo Ribeiro Silva de Oliveira
- Sexta, 10/9, às 17h: Rodrigo Orem da Silva
- Sexta, 10/9, às 17h30: Gustavo Santos Morais
- Sexta, 10/9, às 18h: Felipe Castro Noronha
- Terça, 14/9, às 14h: Davi de Menezes Pereira
- Terça, 14/9, às 14h30: Henrique Araujo de Carvalho
- Terça, 14/9, às 17h: Matheus Barbosa Silva
- Terça, 14/9, às 17h30: Guillermo Enrique Junchaya Heredia
- Terça, 14/9, às 18h: Arthur Correia Gomes
- Quarta, 15/9, às 18h: Vitor Antonio Costa Zaninotto
- Quinta, 16/9, às 14h: Lua Nowacki Scavacini Santilli
- Quinta, 16/9, às 14h30: Gustavo de Medeiros Carlos
- Quinta, 16/9, às 15h: Leonardo Costa Santos
- Quinta, 16/9, às 16h: Daniela Favero
- Quinta, 16/9, às 16h30: Antonio Marcos Shiro Arnauts Hachisuca
- Quinta, 16/9, às 17h: Eduardo Sandalo Porto
- Quinta, 16/9, às 17h30: Julia Leite da Silva
- Quinta, 16/9, às 18h: João Vitor Magalhães Leite (Não compareceu.)
- Quinta, 16/9, às 18h30: William Hideki Kondo
Esta página está em construção.
Cristina Gomes Fernandes
Sala 107C - Tel: 3091-5709
E-mail: cris at ime.usp.br