Estrutura de Dados

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 
Comments