Objectivos de Aprendizagem |
Os principais objetivos desta Unidade Curricular são: - adquirir conhecimentos sobre algoritmia, em particular algoritmos recursivos, de ordenação, de pesquisa e tabelas de Hash, e análise de complexidade dos algoritmos; - compreender os conceitos fundamentais associados aos vários tipos de estruturas de dados sequenciais (listas ligadas) e não sequenciais (árvores binárias), e dos algoritmos passíveis de aplicação a cada estrutura.
No final da Unidade Curricular o estudante deve ser capaz de - desenvolver competências de algoritmia, em particular em problemas que envolvam recursividade, ordenação e/ou pesquisa; - analisar a eficiência dos algoritmos, através da respetiva análise de complexidade, de forma a usar os algoritmos mais eficientes na resolução do problema em questão; - idealizar, esquematizar e implementar estruturas de dados e respectivos algoritmos com vista à resolução de problemas.
|
Bibliografia principal |
Bibliografia principal: - "Estruturas de Dados e Algoritmos em C", Tecnologias de Informação, António Manuel Adrego da Rocha, FCA - Editora Informática, 2008 - "Linguagem C", Luís Damas, FCA - Editora de Informática, 1999 Bibliografia complementar: - "Algorithms in C, Parts 1-5 (Bundle): Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms", By Robert Sedgewick, Addison-Wesley Professional; 3rd Edition, 2001 - "Elementos de Programação com C", 3ª Edição Actualizada e Aumentada, Pedro Guerreiro, FCA - Editora Informática, 2006
|