ESTRUTURAS DE DADOS

Obrigatória: Sim

Carga Horária: 60

Créditos: 4

OBJETIVOS:
Capacitar o aluno a compreender, do ponto de vista da representação computacional e da utilização,
a construção de algoritmos e estruturas de dados.

EMENTA:
Revisão de técnicas de alocação de memória. Árvores. Grafos. Compactação de dados. Introdução à Criptografia. Manipulação de arquivos.

PROGRAMA:
1. Técnicas de Alocação de Memória
1.1 Estática
1.2 Dinâmica
2. Árvores
2.1 Definição
2.2 Árvores Binárias
2.3 Árvores n-árias
2.4 àrvores de Busca
2.5 Árvores AVL (Balanceadas)
2.6 Árvores B, B+
2.7 Árvores Vermelho-Preto
2.8 Arvores Splay
2.9 Tries
2.10 Árvores PATRICIA
2.11 Árvores Multi-via
3. Grafos
3.1 Definição (Ordenação Topológica)
3.2 Representações (Lista de Adjacência, Matrizes, etc)
3.3 Algoritmos de Busca em Grafos
3.4 Aplicações utilizando Grafos (Caminhos Mínimos e Árvore Geradora Mínima)
3.5 Grafos Sem-Atividade
3.6 Algoritmos de Fluxo Máximo
3.7 Árvores de Expansão Mínima
3.8 Pontos de Articulação
3.9 Caminhos de Euler
3.10 Conectividade
4. Compactação de Dados
5. Introdução à Criptografia
5.1 Métodos
6. Manipulação de Arquivos
6.1 Com árvores
6.2 Com Listas
6.3 Multilistas

Bibliografia:

Cormen, T. H.; Leiserson, C. E.; Rivest, R. L. Introduction to Algoritms; MIT Press, 1999.

Cormen, T. H. et. al. Algoritmos: Teoria e Prática. Editora Campus, 2002.

Guimaraes, A. M.; Lages, N. A. C. Algoritmos e estruturas de dados. Livros Técnicos e Científicos, 1994.

Horowitz, E.; Sahni, S. Fundamentos de estruturas de dados. Campus. 3a ed. (1987) Rio de Janeiro.

Kruse, R. L.; Ryba, A. J. Data structures and program design in C++. Prentice-Hall. (1999) Upper Saddle River.

Sedgewick, R. Algorithms in C. Addison-Wesley, 1998.

Tenenbaum, A. M.; Langsam, Y.; Augenstein, M. J. Estruturas de dados usando C. Makron Books. (1995) São Paulo.

Veloso, P. A. S. Estrutura de dados. Campus. 4a ed. (1988) Rio de Janeiro.

Wood, D. Data Structures, Algorithms, and Performance. Addison-Wesley, 1993.