Material de Apoio
Slides
Aqui pode consultar os slides usados nas aulas:
- 0 - Apresentação e Programa (útima alteração: 16/09/2022)
- 1 - Introdução ao Java (útima alteração: 16/09/2022)
- 2 - Sobre Programação Estruturada (útima alteração: 07/10/2022)
- 3 - Tipos Abstractos de Dados (útima alteração: 07/10/2022)
- 4 - Listas Ligadas (útima alteração: 22/10/2022)
- 5 - Complexidade Algorítmica (útima alteração: 14/11/2022)
- 6 - Recursividade (útima alteração: 18/11/2022)
- 7 - Árvores Binárias (útima alteração: 21/11/2022)
- 8 - Filas de Prioridade e Heaps (útima alteração: 09/12/2022)
Aulas Práticas
Aqui poderá consultar os guiões das aulas prática. sPode também consultar os problemas disponíveis no Mooshak, uma lista de programas exemplo dados e uma pequena página de introdução ao Java.
- Aula Prática #01 - Introdução ao Java (19/09 a 23/09)
- Aula Prática #02 - Input/Output e Mooshak (26/09 a 30/09)
- Aula Prática #03 - Introdução a Classes (03/10 a 07/10)
- Aula Prática #04 - Programação Estruturada (10/10 a 14/10)
- Aula Prática #05 - Tipos Abstractos de Dados (17/10 a 21/10)
- Aula Prática #06 - Listas Ligadas Simples (24/10 a 28/10)
- Aula Prática #07 - Listas, Pilhas e Filas (07/11 a 11/11)
- Aula Prática #08 - Complexidade Algorítmica (14/11 a 18/11)
- Aula Prática #09 - Recursividade (21/11 a 25/11)
- Aula Prática #10 - Árvores Binárias (28/11 a 02/12)
- Aula Prática #11 - Árvores Binárias de Pesquisa (05/12 a 09/12)
- Aula Prática #12 - Filas de Prioridade (e revisões) (12/12 a 16/12)
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 e se tal fizer sentido.
(a colocar)
Cursos Relacionados
- Estruturas de Dados @ DCC/FCUP (2021/2022)(2020/2021) (2019/2020) (2018/2019)
- 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 (uHunt) | SPOJ | PEG Online Judge | Kattis | CSES
- Outros concursos/comunidades: CodeForces | AtCoder | CodeJam | TopCoder | Project Euler
- Competitive Programming List of Links