EMENTA:
Listas
Pilhas e Filas
Árvores
Árvores Balanceadas
Heaps
Bibliotecas para Estrutura de Dados
PROGRAMA DISCRIMINADO EM UNIDADES E SUB-UNIDADES:
Listas
Definição e fundamentos.
Listas contíguas, encadeadas, duplamente encadeadas, circulares e ordenadas.
Operações básicas: inserção, remoção e busca.
Aplicações.
Pilhas e Filas
Definição e fundamentos.
Representações contíguas e encadeadas.
Operações básicas: inserção e remoção.
Aplicações.
Árvores
Definição e fundamentos.
Representações gráficas.
Caminhamentos em profundidade e em largura.
Árvore binária e árvore binária de busca.
Operações básicas: inserção, remoção e busca.
Aplicações.
Árvores Balanceadas
Definição e fundamentos.
Árvore AVL e árvore vermelho e preto.
Operações básicas: inserção e remoção.
Aplicações.
Heaps
Definição e fundamentos.
Heaps binárias.
Representação vetorial.
Operações básicas: inserção, remoção e seleção de valores com maior prioridade.
Aplicações.
Bibliotecas para Estrutura de Dados
Exemplos e aplicações.
BIBLIOGRAFIA:
Bibliografia Básica
CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L.; STEIN, C. Algoritmos: Teoria e Prática. 3ª Edição. Elsevier, 2012.
DROZDEK, A. Estruturas de Dados e Algoritmos em C++. 4ª Edição. Cengage Learning, 2016.
MEDINA, M.; FERTIG, C. Algoritmos e Programação: Teoria e Prática. 2ª Edição. Novatec, 2005.
Bibliografia Complementar
DEITEL, H. M.; DEITEL, P. J. C++: Como Programar. 5ª Edição. Pearson, 2006.
GUIMARÃES, A. M.; LAGES, N. A. C. Algoritmos e Estruturas de Dados. LTC, 1994.
SEDGEWICK, R.; WAYNE, K. D. Algorithms. 4ª Edição. Addison Wesley, 2011.
STROUSTRUP, B. A Linguagem de Programação C++. 3ª Edição. Bookman, 2000.
ZIVIANI, N. Projeto de Algoritmos com Implementação em Java e C++. Cengage Learning, 2007.