C++: tipos e variáveis, estruturas básicas de dados, expressões, funções e orientação a objetos. Tipos abstratos de dados: conceitos, operações, representações e manipulação. Listas, pilhas e filas. Representação de grafos e árvores. Ordenação (insertion sort, mergesort e quicksort). Busca (árvores binárias, árvores rubro-negras e tabelas de espalhamento). Recursão e Backtracking.
Informações Básicas
Obrigatória:
- Kleinberg, J., & Éva Tardos. (2005). Algorithm Design. Addison Wesley;
- Dasgupta, S., Papadimitriou, C. H., & Vazirani, U. V. (2008). Algorithms. McGraw-Hill;
- Structure and Interpretation of Computer Programs. (1996). Structure and Interpretation of Computer Programs. MIT Press.
Complementar:
- Hetland, M. L.. (2002). Practical Python. Books for professionals by professionals The expert's voice in open source Apresspod Series Expert's Voice (648 p). Apress;
- Celes, W. Cerqueira, R. Rangel, J. L.. (2004). Introdução a estruturas de dados: com técnicas de programação em C. (293 p). Campus;
- Wirth, Niklaus.. (1999). Algoritmos e estruturas de dados. (255 p). LTC;
- Edmonds, Jeff. (2010) Como pensar sobre algoritmos. (300 p). LTC;
- Horowitz, Ellis. (1987) Fundamentos de estruturas de dados. (494 p). Campus.