Material de Apoio
Slides
Aqui pode consultar os slides já usadas nas aulas.
- 0 - Apresentação e Programa (útima alteração: 04/02/2019)
- 1 - Introdução ao Java (útima alteração: 27/02/2019)
- 2 - Sobre Programação Estruturada (útima alteração: 09/03/2019)
- 3 - Tipos Abstractos de Dados (útima alteração: 16/03/2019)
- 4 - Listas Ligadas, Pilhas e Filas (útima alteração: 30/03/2019)
- 5 - Complexidade Algorítmica (útima alteração: 13/04/2019)
- 6 - Recursividade (útima alteração: 10/05/2019)
- 7 - Árvores Binárias (útima alteração: 20/05/2019)
- 8 - Filas de Prioridade e Heaps (útima alteração: 01/06/2019)
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 (15/02 a 21/02)
- Aula Prática #02 - Input/Output e Mooshak (25/02 a 01/03)
- Aula Prática #03 - Introdução a Classes (04/03 a 08/03)
- Aula Prática #04 - Programação Estruturada (11/03 a 15/03)
- Aula Prática #05 - Tipos Abstractos de Dados (18/03 a 22/03)
- Aula Prática #06 - Listas Ligadas (25/03 a 30/03)
- Aula Prática #07 - Listas, Pilhas e Filas (08/04 a 12/04)
- Aula Prática #08 - Consolidação de Conhecimentos (Listas, Pilhas e Filas) (23/04 a 26/04)
- Aula Prática #09 - Complexidade Algorítmica (29/04 a 03/05)
- Aula Prática #10 - Recursividade (13/05 a 17/05)
- Aula Prática #11 - Árvores Binárias (20/05 a 24/05)
- Aula Prática #12 - Árvores Binárias de Pesquisa, Conjuntos e Dicionários (27/05 a 31/05)
- Aula Prática #13 - Filas de Prioridade (guião extra)
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 (2017/2018) (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