Estruturas de Dados e Algoritmos Fundamentais
Código: 21046
Departamento: DCET
ECTS: 6
Área científica: Engenharia Informática
Total de horas trabalho: 156
Total de horas de contacto: 26

Esta unidade curricular proporcionará aos alunos um estudo aprofundado em estruturas de dados e algoritmia fundamental para a resolução de problemas. O paradigma utilizado é o da programação genérica, utilizando a linguagem C++, dada a grande versatilidade e elegância deste tipo de programação.

1. Complexidade algorítmica
2. Contentores sequenciais
3. Árvores e tabelas de hash
4. Ordenação

O estudante deverá adquirir a capacidade de planear e implementar estruturas de dados e algoritmos para problemas de programação, tendo em vista a eficiência da solução.

Noção de complexidade algorítmica. Contentores sequenciais: vetores, listas, pilhas e filas. Árvores: ABP, B-Trees, árvores red-black. Ordenação. Contentores associativos: map, set e tabelas de hash.

Bibliografia Obrigatória
Data Structures and Algorithms in C++, Fourth Edition, Adam Drozdek, Cengage Learning.

Bibliografia Complementar (Opcional)
Não aplicável.

 

E-learning.

O regime de avaliação preferencial é o de avaliação contínua, constituída pela realização de 2 e-folios (trabalhos escritos em formato digital), ao longo do semestre letivo, e de um momento final de avaliação e-fólio Global (e-fólioG), a ter lugar no final do semestre, com peso de, respetivamente, 40% e 60% na classificação final. Os estudantes podem, no entanto, em devido tempo, optar um único momento de avaliação, realizando, então uma prova de Avaliação Final (exame) com o peso de 100%.

Pré-requisitos: Conhecimentos de Programação em Linguagem C e C++ (UC 21173 Introdução à Programação e UC 21093 Programação por Objetos).

Apresentação pessoal do docente