EMENTA: Introdução aos conceitos de estrutura de dados. Técnicas de alocação de memória. Estruturas lineares (listas, pilhas e filas). Árvores. Grafos. Práticas de laboratório.
CONTEÚDO PROGRAMÁTICO:
UNIDADE I - INTRODUÇÃO
- Revisão: vetores, matrizes, ponteiros, funções.
- Algoritmos
- Recursividade
- Abstração de Dados
- Tipos Abstratos de Dados
- Noções de Programação Orientada a Objetos
UNIDADE II - ESTRUTURAS LINEARES
- Listas
- Alocação estática
- Alocação dinâmica
- Listas simplesmente encadeadas
- Listas duplamente encadeadas
- Listas circulares
- Listas auto-organizadas
- Pilhas
- Alocação estática
- Alocação dinâmica
- Filas
- Alocação estática
- Alocação dinâmica
- DEQUE - Double Ended Queue (Fila com terminação dupla)
UNIDADE III - ESTRUTURAS HIERÁRQUICAS (ÁRVORES)
UNIDADE IV - GRAFOS
- Definição (ordenação topológica)
- Representações (listas de adjacências, matrizes, etc)
- Algoritmos de busca
- Aplicações (caminhos mínimos e árvore geradora mínima)
BIBLIOGRAFIA:
BÁSICA
- CORMEN, Thomas H. et alli. Algoritmos: teoria e prática. Ed. Campus, 2002 (2a. ed).
- WIRTH, Niklaus. Algoritmos e estruturas de dados. Rio de Janeiro: Ed. Prentice Hall, 1998.
COMPLEMENTAR
|
|