Introdução à análise de algoritmos.
Análise de correcção (triplos de Hoare, invariantes de ciclo e terminação).
Análise assimptótica de tempo de execução; notações O, Ω, Θ; relações de recorrência;
Estratégias algorítmicas fundamentais.
Algoritmos de ordenação.
Algoritmos clássicos sobre grafos.
Definição informal das classes de problemas P e NP;
Exemplos de problemas NP-completos.
Estruturas de dados: stack, queue, heap árvores AVL e tabelas de hash.