ISMAT 13558
Algoritmia e Estrutura de Dados
Engenharia Informática (ISMAT)
-
ApresentaçãoPresentationEm programação os temas repetem-se e as soluções também, por isso é indispensável compreender e saber aplicar os métodos estudados que apresentam a melhor solução para problemas bem conhecidos. A UC Algoritmos e Estruturas de Dados aborda o estudo das estruturas de dados fundamentais e dos algoritmos clássicos, utilizados em programação. A correta utilização dos algoritmos e estruturas de dados permite obter programas escritos de uma melhor forma, com menos erros e optimizado o tempo de execução e memória alocada.
-
ProgramaProgrammeCP1. Pesquisa sequencial. CP2. Pesquisa binária. CP3. Fundamentos de análise de algoritmos. Análise do melhor caso, pior caso, caso médio. Crescimento de funções. Complexidade assintótica. Notações. Recorrências e respetiva resolução. Árvores de recursão. Método de Master. CP4. Revisão de métodos de ordenação simples: seleção, inserção e bolha. CP5. Métodos de ordenação merge sort e quicksort (recursivo). CP6. Divisão e conquista. CP7. Método de ordenação Heapsort. Min e Max-heap. CP8. Métodos de ordenação em tempo linear. Counting sort, Radix sort, Bucket sort. CP9. Estratégias de concepção de algoritmos. Divisão e conquista (revisitado). Algoritmos "greedy". Programação dinâmica. CP10. Análise Amortizada. CP11. Estruturas de Dados Avançadas. Filas de Prioridade (Min e Max-Priority) Árvores Binárias de Pesquisa. BSTs equilibradas. Grafos. Hashing.
-
ObjectivosObjectivesOA1. Compreender e aplicar os métodos de análise de algoritmos iterativos e recursivos. OA2. Compreender e identificar estratégias essenciais para a conceção de algoritmos. OA3. Dominar estruturas de dados avançadas e algoritmos fundamentais sobre as mesmas. OA4. Compreender a influência do desenho/escolha de um algoritmo e/ou estrutura de dados na performance da resolução de um problema. OA5. Conhecer e identificar problemas intratáveis, bem como algoritmos que apresentam uma solução aproximada para os mesmos.
-
BibliografiaBibliographySedgewick R., Wayne K. (2011). Algorithms. Addison-Wesley.
-
MetodologiaMethodologyO conteúdo lecionado é aplicado usando programação. São utilizadas metodologias ativas, orientadas à resolução de problemas (PBL). No final de cada parte são desenvolvidos projetos integrando todos os conteúdos lecionados.
-
LínguaLanguagePortuguês
-
TipoTypeSemestral
-
ECTS6
-
NaturezaNatureObrigatório
-
EstágioInternshipNão