Conteúdos programáticos:
A unidade curricular aborda os seguintes conteúdos programáticos: (1) Recursividade: definição, chamadas recursivas, relações de recorrência e análise de algoritmos recursivos. (2) Análise de complexidade temporal e espacial: notação assintótica (O, T, O), análise de ciclos, casos médio e pior caso, e introdução a recorrências. (3) Algoritmos de ordenação: Bubble Sort, Insertion Sort, Selection Sort, Merge Sort e Quick Sort, com comparação de eficiência e estabilidade. (4) Estruturas de dados: vetores, vetores dinâmicos, listas ligadas simples e duplas, pilhas, filas, filas de prioridade, árvores binárias, árvores de pesquisa e representação de grafos por matriz e lista de adjacência. (5) Algoritmos de pesquisa e percursos em árvores e grafos (DFS e BFS).