Estruturas de dados têm um papel central em ciência da computação em aplicações diárias. Elas são os blocos básicos usados na construção de algoritmos eficientes. Especialmente na atualidade, em que a quantidade de dados a ser processada é gigantesca, a maneira de organizar os dados é fundamental para tornar o seu processamento efetivo. Conteúdo da disciplina: Serão escolhidos tópicos da seguinte lista: 1. Ancestral comum mais próximo, ancestral de nível, árvores de segmentos. 2. Estruturas de dados temporais: persistência e retroatividade. 3. Estruturas de dados cinéticas. 4. Conjectura da otimalidade dinâmica. 5. Conexidade em grafos dinâmicos. 6. Busca de padrão em textos gigantes. 7. Estruturas de dados sucintas. 8. Hierarquia de memória.