Algoritmos e Estruturas de Dados

Ano
2
Ano lectivo
2025-2026
Código
01000197
Área Científica
Informática
Língua de Ensino
Português
Modo de Ensino
Presencial
Duração
Semestral
Créditos ECTS
6.0
Tipo
Obrigatória
Nível
1º Ciclo - Licenciatura

Conhecimentos de Base Recomendados

Algoritmia e resolução de problemas, programação procedimental, programação orientada a objetos, estruturas discretas, análise de complexidade.

Métodos de Ensino

O processo de aprendizagem é suportado nos seguintes instrumentos: aulas teóricas, aulas teórico-práticas, laboratório, demonstradores de estrutura e ordenação de dados, e exercícios para reforço da avaliação formativa e sumária.

O exame escrito pretende avaliar os objetivos da unidade curricular e as competências. 50% da nota final provém deste exame. Trabalhos prático, na forma de três projetos, pesa 50% na nota final.

Resultados de Aprendizagem

Após a conclusão da unidade curricular deve demonstrar conhecimento e capacidade de compreensão nos seguintes aspectos: análise de complexidade; técnicas gerais de projecto de algoritmos; estruturas de dados e algoritmos de ordenamento (características, memória ocupada, velocidade de execução).

Aplicação de conhecimentos e compreensão: aplicação dos conhecimentos sobre análise de complexidade; reconhecimento e compreensão do carácter recursivo das várias estruturas de dados e algoritmos estudados; capacidade de análise comparativa.

Realização de julgamento/tomada de decisão: capacidade de decisão sobre as estruturas de dados e algoritmos; capacidade de decisão sobre técnicas de programação avançada.

Comunicação: reforço de competências de comunicação escrita; reforço de competências de comunicação oral na expressão de  julgamento/tomada de decisão em situações concretas.

Competências de auto-aprendizagem: aprendizagem autónoma e auto-orientada na área.

Estágio(s)

Não

Programa

- Análise de complexidade.

- Técnicas gerais de projecto de algoritmos.

- Árvores. Árvores AVL, VP, amontoados, listas de saltos, árvores B.

- Grafos.

- Algoritmos de ordenamento: shell sort, merge sort, quick sort, radix sort, MSD, LSD.

- Tabelas de dispersão.

- Tópico seleccionado (ex. mapeamento de cadeias de caracteres).

Docente(s) responsável(eis)

Luís Filipe dos Santos Coelho Paquete

Métodos de Avaliação

Avaliação
Projecto: 50.0%
Exame: 50.0%

Bibliografia

 Introduction to Algorithms, (4th Edition): Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, MIT Press Ltd, 2022

 

Algorithms (4th Edition): Robert Sedgewick and Kevin Wayne, Addison-Wesley Professional, 2011

 

An Introduction to the Analysis of Algorithms (2nd Edition), Robert Sedgewick and Philippe Flajolet, Addison-Wesley Professional, 2013