Algoritmos e Estruturas de Dados

Ano
2
Ano lectivo
2021-2022
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 objectos, estruturas discretas, análise de complexidade.

Métodos de Ensino

Processo de ensino/aprendizagem suportado em aulas Teóricas e de Prática de laboratório; Demonstradores e Plataforma Mooshak.
Aulas Práticas de Laboratório de acompanhamento dos Trabalhos Práticos, e apoio à plataforma Mooshak.
Momentos de avaliação: Prova Escrita; Trabalhos Práticos.

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)

Carlos Manuel Robalo Lisboa Bento

Métodos de Avaliação

Avaliação
Resolução de problemas: 40.0%
Exame: 60.0%

Bibliografia

Algorithms in C, Parts 1-5 (Bundle): Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms (3rd Edition) (Bundle) (Paperback) by Robert Sedgewick (Author)

Introduction to Algorithms (Hardcover)by Thomas H. Cormen (Author), Charles E. Leiserson (Author), Ronald L. Rivest (Author), Clifford Stein (Author)

An Introduction to the Analysis of Algorithms 1st Edition by Robert Sedgewick (Author), Philippe Flajolet (Author)