Estruturas de Dados
Neste módulo, será apresentada uma visão geral dos conceitos básicos sobre estruturas de dados, focando aquelas que encontramos na maioria das bibliotecas. Serão apresentados os algoritmos fundamentais sobre as diferentes estruturas de dados e aplicar-se-ão estas noções na resolução de problemas práticos, tendo em conta a viabilidade, eficiência e escalabilidade. Far-se-á a análise da implementação das estruturas de dados e dos algoritmos fundamentais sobre as mesmas.
Este curso inclui os seguintes tópicos:
- Tipos de dados: pilhas, filas de espera, filas de prioridade, amontoados, árvores, conjuntos disjuntos, grafos.
- Estruturas de dados fundamentais: arrays, listas ligadas, árvores binárias de pesquisa, e tabelas de dispersão.
- Algoritmos fundamentais sobre as diferentes estruturas de dados.
- Técnicas para o desenho e a análise de estruturas de dados.
Três sessões por semana: 2a, 4a e 6a das 17:30 às 20:00.
Este módulo tem como objetivo conhecer, compreender e utilizar as estruturas de dados fundamentais para a resolução de problemas computacionais. Escolher de forma fundamentada as estruturas de dados mais adequadas a cada problema e aplicá-las na sua resolução. Desenhar estruturas de dados e algoritmos elementares para a sua manipulação.
Os estudantes que terminam com sucesso este módulo serão capazes de:
- Conhecer, compreender as estruturas de dados fundamentais e os algoritmos fundamentais para sua manipulação;
- Escolher de forma fundamentada as estruturas de dados mais adequadas a cada problema e aplicá-las na sua resolução;
- Desenhar estruturas de dados e algoritmos para a sua manipulação.
Fundamentos de Programação.
Os resultados da aprendizagem são avaliados através de uma componente prática (CP), nomeadamente da realização de um projeto e respetivo relatório (50%) e de uma componente teórica (CT), a qual é constituída por um exame (50%). Ambas as componentes têm nota mínima de 9,50.