Programa

Algoritmos e Estruturas de Dados

Licenciatura Bolonha em Engenharia Informática

Licenciatura Bolonha em Matemática Aplicada

Programa

Complexidade assintótica temporal e espacial. Melhor caso, pior caso e caso esperado. Prever e comparar o desempenho (na prática) de algoritmos. Dividir para conquistar e recursão. Tail recursion. Técnica de Memorização. Sistemas de recorrência. Tipos de dados abstratos: Pilha, Lista, Fila, Fila com Prioridades, Conjunto, Árvore, Mapa e Dicionário e sua especificação formal. Implementação destes tipos de dados com diferentes estruturas de dados — listas e outras estruturas ligadas, vectores, vectores circulares, árvores de pesquisa, amontoados, tabela de dispersão e árvores AVL — e análise da sua eficiência. Estruturas de Dados Imutáveis. Ordenação e aplicações. Algoritmos de ordenação por comparação clássicos.