Algoritmos e Estruturas de Dados
Ano Letivo: 2015/16
Departamento: Informática
Carga horária: T: 2:00 h; TP: 1:30 h; OT: 2:00 h;
Área Científica: Informática;
Objetivos da Unidade Curricular
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 a técnicas algorítmicas mais comuns.
Pré-requisitos
- Introdução à Programação (26722)
Conteúdos
Complexidade assintótica temporal e espacial. Melhor caso, pior caso e caso esperado.
Dividir para conquistar e recursão. Tail recursion. Técnica de Memorização. Sistemas de recorrência.
Alguns tipos de dados abstratos elementares como a 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 como 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.
Ordenação.
Descrição detalhada dos conteúdos programáticos
Componente Teórica
Análise de Algoritmos, Notação O-grande, Tipos de Dados Abstractos, Pilhas, Filas, Iteradores, Recursão, Árvores, Conjuntos e Tabelas, Ordenação, Árvores Equilibradas.
Componente Teórica-Prática
Análise de Algoritmos, Notação O-grande, Tipos de Dados Abstractos, Pilhas, Filas, Iteradores, Recursão, Árvores, Conjuntos e Tabelas, Ordenação, Árvores Equilibradas.
Componente Prática
Não se aplica.
Bibliografia
Recomendada
Exemplos, soluções de exercícios e outros recursos podem ser encontrados no "Student Companion site" do livro.
V.Vasconcelos, A.Lopes and I.Nunes, Specifying and Monitoring Java Classes with ConGu 2.0, Lecture Notes, 2014.
Outros elementos de estudo
Séries de exercícios, disponíveis no site da disciplina.
M. T. Goodrich e R. Tamassia, "Data Structures and Algorithms in Java", John Wiley & Sons, ISBN978-0-470-93439-5, 2010.
Métodos de Ensino
As aulas teóricas consistem na exposição e discussão dos conteúdos do programa. As aulas práticas consistem na exposição e ilustração de temas do programa sobretudo através da resolução de problemas.
Métodos de Avaliação
Avaliação contínua (10%) medida pela participação nas aulas TPs e trabalhos de casa Projecto (15%) Exame (75%) Aprovação se notaExame ≥ 9.5 e 0.10*notaAvC+ 0.15*notaProj + 0.75*notaExame ≥ 9.5
Língua de ensino
Português