Disciplina Curricular
Algoritmos e Estruturas de Dados AEDado
Licenciatura Bolonha em Matemática Aplicada - 3_Plano 2015/16 a 2021/22
Contextos
Grupo: 3_Plano 2015/16 a 2021/22 > 1º Ciclo > Ramos > Ramo de Aplicações Fundamentais > Optativas > 3º Ano > 501_Lic. em Matemática Aplicada - Ramo AF (3º Ano) > 2º Semestre
Período:
Grupo: 3_Plano 2015/16 a 2021/22 > 1º Ciclo > Ramos > Ramo de Estatística e Investigação Operacional > Optativas > 3º Ano > 499_Lic. em Matemática Aplicada - Ramo EIO (3º Ano) > 2º Semestre
Período:
Peso
6.0 (para cálculo da média)
Objectivos
Introdução aos conceitos fundamentais de algoritmos e técnicas de estruturação de dados no contexto da metodologia de programação centrada em objectos. Aprofundamento do estudo desta metodologia com ênfase nos princípios de abstracção e modularização, assim como nos mecanismos de correcção. Introdução de algumas técnicas algorítmicas mais comuns.
Programa
Complexidade assintótica temporal e espacial. Melhor caso, pior caso e caso esperado. Prever e comparar o desempenho (na prática) de algoritmos. Dividir para conquistar e recursão. Tail recursion. Técnica de Memorização. Sistemas de recorrência. Tipos de dados abstratos: Pilha, Lista, Fila, Fila com Prioridades, Conjunto, Árvore, Mapa e Dicionário e sua especificação formal. Implementação destes tipos de dados com diferentes estruturas de dados — listas e outras estruturas ligadas, vectores, vectores circulares, árvores de pesquisa, amontoados, tabela de dispersão e árvores AVL — e análise da sua eficiência. Estruturas de Dados Imutáveis. Ordenação e aplicações. Algoritmos de ordenação por comparação clássicos.
Métodos de ensino e avaliação
As aulas teóricas consistem na exposição e discussão dos conteúdos programáticos. As aulas práticas consistem na resolução de problemas. Trabalhos (20%) e exame (80%).