Material de Apoio
Slides
Aqui pode consultar os slides já usadas nas aulas.
- 0 - Apresentação e Programa (útima alteração: 11/02/2020)
- 1 - Introdução ao Java (útima alteração: 11/02/2020)
- 2 - Sobre Programação Estruturada (útima alteração: 06/03/2020)
- 3 - Tipos Abstractos de Dados (útima alteração: 19/03/2020)
- 4 - Listas Ligadas, Pilhas e Filas (útima alteração: 28/03/2020)
- 5 - Complexidade Algorítmica (útima alteração: 18/04/2020)
- 6 - Recursividade (útima alteração: 25/04/2020)
- 7 - Árvores Binárias (útima alteração: 05/06/2020)
- 8 - Filas de Prioridade e Heaps (útima alteração: 05/06/2020)
Aulas Práticas
Aqui pode consultar o guião da aula. Pode também consultar de problemas disponíveis no Mooshak de DAA, uma lista de programas exemplo dados e uma pequena página de introdução ao Java.
- Aula Prática #01 - Introdução ao Java (17/02 a 21/02)
- Aula Prática #02 - Input/Output e Mooshak (24/02 a 28/02)
- Aula Prática #03 - Introdução a Classes (02/03 a 06/03)
- Aula Prática #04 - Programação Estruturada (09/03 a 13/03)
- Aula Prática #05 - Tipos Abstractos de Dados (16/03 a 20/03)
- Aula Prática #06 - Listas Ligadas (23/03 a 27/03)
- Aula Prática #07 - Listas, Pilhas e Filas (30/03 a 03/04)
- Aula Prática #08 - Consolidação de Conhecimentos (Listas, Pilhas e Filas) (13/04 a 17/04)
- Aula Prática #09 - Complexidade Algorítmica (20/04 a 24/04)
- Aula Prática #10 - Recursividade (27/04 a 01/05)
- Aula Prática #11 - Árvores Binárias (11/05 a 15/05)
- Aula Prática #12 - Árvores Binárias de Pesquisa e Conjuntos (18/05 a 22/05)
- Aula Prática #13 - Dicionários e Filas de Prioridade (25/05 a 29/05)
Livros Recomendados
- Livro Principal:
- Data Structures and Algorithms in Java.
M Goodrich, R Tamassia and M Goldwasser, 6th Edition, Wiley, 2014.
- Data Structures and Algorithms in Java.
- Outros Livros Recomendados:
- Introduction to Algorithms.
TH Cormen, CE Leiserson, RL Rivest and C Stein, 3rd Edition, MITPress, 2009. - Introduction to Programming in Java: An Interdisciplinary Approach.
R. Sedgewick, K Wayne, 2nd Edition, Addison-Wesley, 2017. - Think Java: How To Think Like a Computer Scientist.
A Downey, O'Reilly, 2016. - Think Data Structures.
A Downey, O'Reilly, 2017.
- Introduction to Algorithms.
Temas Específicos
Ao longo do semestre algumas ligações poderão ser aqui acrescentadas, quando tal fizer sentido.
(a colocar)
Cursos Relacionados
- Estruturas de Dados @ DCC/FCUP (2018/2019) (2016/2017) (2013/2014)
- Computer Science: An Interdisciplinary Approach @ Princeton (primeiros 4 capítulos)
- COS226: Algorithms and Data Structures @ Princeton (webpage)
- CSE22: Data Structures @ Harvard (website)
- CS 2110: OO Programming and Data Structures @ Cornell (website)
Outras Ligações
- VisuAlgo - visualising data structures and algorithms through animation
- Data Structures Visualizations
- Online judges: UVA Online Judge (forum) (uHunt) | SPOJ | PEG Online Judge | Kattis
- Outros concursos/comunidades: CodeForces | Google CodeJam | Topcoder | Project Euler
- Competitive Programming List of Links