Disciplina: DCC200 - ALGORITMOS II
Horas Aula: 4
Departamento: DEPTO DE CIENCIA DA COMPUTACAO /ICE
Plano de Ensino
2. Ponteiros
3. Recursividade
4. Introdução à complexidade assintótica
5. Ordenação
6. Tipos abstratos de dados
7. Matrizes
2. Ponteiros; Organização e endereçamento de memória; Declaração, inicialização e aritmética de ponteiros; Passagem de parâmetros por referência; Alocação dinâmica de memória.
3. Recursividade; Definição; Algoritmos recursivos.
4. Introdução à complexidade assintótica; Conceito de ordem de grandeza.
5. Ordenação; Algoritmos BubbleSort, InsertionSort, SelectionSort, ShellSort, MergeSort, QuickSort e HeapSort.
6. Tipos abstratos de dados; Conceitos fundamentais: abstração, domínio de dados, invisibilidade, encapsulamento e proteção; Programação com tipos abstratos de dados.
7. Matrizes; Endereçamento de elementos; Representação linear de matrizes; Matrizes especiais: triangulares, diagonais, tridiagonais, simétrica e antissimétrica; Matrizes esparsas.
edição. Elsevier, 2012.
MEDINA, M.; FERTIG, C. Algoritmos e Programação: teoria e prática. 2a edição. Novatec, 2005.
ZIVIANI, N. Projeto de algoritmos com implementação em Java e C++. Cengage Learning, 2007.
GUIMARÃES, A. M.; LAGES, N. A. C. Algoritmos e estruturas de dados. LTC, 1994.
SEDGEWICK, R.; WAYNE, K. D. Algorithms. 4a edição. Addison Wesley, 2011.
STROUSTRUP, B. A linguagem de programação C++. 3a edição. Bookman, 2000.
SZWARCFITER, J. L., Estruturas de dados e seus algoritmos. 3a edição. LTC, 2010.