Leitura e escrita em arquivos
Acesso sequencial e acesso direto
Organização e endereçamento de memória
Declaração, inicialização e aritmética de ponteiros
Passagem de parâmetro por referência
Alocação dinâmica de memória
Definição
Algoritmos recursivos
Conceito de ordem de grandeza
Algoritmos
BlubbleSorte
InsertionSort
SelectionSort
ShellSort
MergSort
QuickSort
HeapSort
Conceitos fundamentais: abstração, domínio de dados, invisibilidade, encapsulamento e proteção.
Programação com TAD
Endereçamento de memória
Representação linear de matrizes
Matrizes especiais: triangulares, diagonais, tridiagonais, simétrica e antissimétrica.
Matrizes esparças.
Bibliografia Básica
CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L.; STEIN, C. Algoritmos: teoria e
prática. 3ª edição. Elsevier, 2012. (Online)
MEDINA, M.; FERTIG, C. Algoritmos e Programação: teoria e prática. 2ª edição.
Novatec, 2005. (30 exemplares)
ZIVIANI, N. Projeto de algoritmos com implementação em Java e C++. Cengage
Learning, 2007. (Online)
Bibliografia Complementar
DEITEL, H. M.; DEITEL, P. J. C++: como programar. 5ª edição. Pearson, 2006. (2 exemplares)
GUIMARÃES, A. M.; LAGES, N. A. C. Algoritmos e estruturas de dados. LTC, 1994. (12 exemplares)
MEDINA, M.; FERTIG, C. Algoritmos e Programação: teoria e prática. 2ª edição. Novatec,
2005. (30 exemplares)
SEDGEWICK, R.; WAYNE, K. D. Algorithms. 4ª edição. Addison Wesley, 2011. (6 exemplares)
STROUSTRUP, B. A linguagem de programação C++. 3ª edição. Bookman, 2000. (1 exemplar)