Disciplina
Sise - Algoritmos e Estruturas de Dados
Área
Área Científica de Metodologia e Tecnologias da Programação > Algoritmos
Activa nos planos curriculares
SISE 2015 > SISE 2015 > 3º Ciclo > Sise - Algoritmos e Estruturas de Dados
Nível
A avaliação é composta pelo seguinte conjunto de componentes: Projecto em grupo (50%), Exame (50%)
Tipo
Não Estruturante
Regime
Semestral
Carga Horária
1º Semestre
1.072 h/semana
1.072 h/semana
54.0 h/semestre
Objectivos
Visão geral dos conceitos básicos sobre análise e síntese de algoritmos e estruturas de dados, focando aqueles que encontramos na maioria das bibliotecas. Adquirir noções de complexidade computacional. Aplicar estas noções na resolução de problemas práticos, tendo em conta a viabilidade, eficiência e escalabilidade. Analisar a implementação de algoritmos e estruturas de dados
Programa
A unidade curricular cobre as seguintes temáticas: - Introdução à resolução de problemas, aos algoritmos e às estruturas de dados. - Introdução ao desenho de algoritmos, desde o uso de recursão e da estratégia dividir para conquistar a estratégias gananciosos e à programação dinâmica. - Introdução à análise de algoritmos e complexidade computacional. - Vectores e algoritmos de ordenação e seleção. O problema fundamental das estruturas de dados. Listas ligadas, filas e pilhas. Funções e tabelas de dispersão. Árvores de pesquisa. Conjuntos e mapas. - A Java Collections Framework e implementações típicas. Utilização prática de algoritmos e estruturas de dados, problemas básicos em grafos e de otimização, aplicação em bases de dados e em problemas de aprendizagem. Classes de problemas e a sua complexidade. Paralelização e os seus limites. - Intratabilidade e como lidar com problemas intratáveis. Big Data ou quando o tempo polinomial pode ser demais.
Metodologia de avaliação
A avaliação é composta pelo seguinte conjunto de componentes: Projecto em grupo (50%), Exame (50%)
Pré-requisitos
Componente Laboratorial
Princípios Éticos
Componente de Programação e Computação
Componente de Competências Transversais
Bibliografia
Principal
Introduction to Algorithms (3rd Edition)
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein
Secundária
Robert Sedgewick and Kevin Wayne
Addison-Wesley (Resources and code available at http://algs4.cs.princeton.edu)