IPLUSO 13558
Algoritmia e Estrutura de Dados
Engenharia Informática e Aplicações (L) (IPLUSO)
-
ApresentaçãoPresentationA alteração de paradigma do conceito de computação passou da solução de problemas via a programação nas máquinas de cálculo automático para a manipulação da informação obtida via máquinas remotas. Sendo assim o foco passou do programa para a organização da informação e como tal para os métodos de armazenamento dessa informação. A alteração deste paradigma irá levar a que o foco se encontre na otimização da organização de dados em termos de facilidade de acesso e de gestão. O estudo de estruturas de dados mais complexas que as estruturas nativas simples é um primeiro passo na aquisição de competências na organização da informação para um possível entendimento dos aplicativos de manipulação da informação do ponto de vista das aplicações.
-
ProgramaProgrammeCP1: Complexidade, classes, funções típicas e análise de algoritmos; CP2 : Complexidade e recursividade; CP3 : Algoritmos de pesquisa e seleção; CP4 : Algoritmos de ordenação: Insertion Sort, Heap Sort, Merge Sort e Quicksort; CP5: Comparação dos algoritmos de ordenação quanto à sua complexidade (programação do Quicksort ); CP6 : Tipos abstratos de dados: Pilha e Fila; CP7: Array circular, listas simples e duplamente ligadas; CP8: Implementação de Pilha e Fila; CP9: Utilização de Dicionários e Conjuntos; CP10: Árvores binárias; CP11 : Programação de árvores binárias; CP12: Noções básicas de grafos.
-
ObjectivosObjectivesOA1: Reconhecer a alteração de paradigma em termos de programação. OA2: Entender as diferenças entre variáveis nativas e variáveis complexas. OA3: Conhecer e saber utilizar variáveis complexas como pilhas, filas, árvores e grafos. OA4: Entender os algoritmos de procura e ordenação mais significativos OA5: Entender os algoritmos de procura em árvores, e em grafos. OA6: Entender o conceito de complexidade.
-
BibliografiaBibliographyCormen, Thomas H. - Algorithms Unlocked . Cambridge, Massachusetts : MIT Press, 2013. Tamassia, Roberto, Goldwasser, Michael H., Goodrich, Michael T. - Data Structures and Algorithms in Python. First Edition. USA: Wiley, 2013
-
MetodologiaMethodologyUtilização da metodologia de aprendizagem baseada em exercícios, através da qual os alunos são estimulados a desenvolver autonomamente soluções para problemas que lhes são colocados e que abordam a generalidade dos tópicos lecionados.
-
LínguaLanguagePortuguês
-
TipoTypeSemestral
-
ECTS6
-
NaturezaNatureObrigatório
-
EstágioInternshipNão