Programacao
Apostila de Algoritmos e Estrutura de Dados II
30-703
4 créditos
EMENTA: Análise e projeto dos tipos de dados abstratos, estruturas de dados e suas aplicações: listas lineares, pilhas, filas.
Métodos e técnicas de classificação de dados.
OBJETIVOS: Ao final desta disciplina o aluno deverá ser capaz de definir formalmente estruturas de dados, manipular estas estruturas, selecioná-las e utilizá-las em suas aplicações.
RELAÇÃO DOS CONTEÚDOS:
•
Conceitos Iniciais
- Introdução: tipos primitivos de dados, vetores, matrizes, estruturas (structs).
- Tipos abstratos de dados (TADs)
- Representação e implementação de TDA.
•
Recursividade
- Definição, exemplos, simulação e implementação de recursividade. Exercícios
•
Listas lineares
- Definição, estruturas estáticas e dinâmicas, operações básicas em listas de elementos.
•
Pilhas
- Definição do tipo abstrato, aplicações e exemplos
- Operações básicas em uma pilha
- Exercícios e Implementações de pilhas
•
Filas
- Definição do tipo abstrato, aplicações e exemplos
- Operações básicas em uma fila
- Filas circulares
- Exercícios e Implementações de filas
•
Classificação
- Listas ordenadas. Métodos de classificação de dados por:
- Inserção (direta e incrementos decrescentes)
- Troca ( bolha e partição)
- Seleção (seleção direta e em árvore)
- distribuição e intercalação
•
Listas ligadas
- Pilhas ligadas
- Filas lidadas
- Listas ligadas
- Listas duplamente ligadas
- Exercícios e Implementações
BIBLIOGRAFIA BÁSICA (LIVROS TEXTOS):
TENEMBAUM, Aaron M. Estrutura de Dados Usando C. São Paulo: Makron Books do Brasil, 1995.
VELLOSO, Paulo. Estruturas de Dados. Rio de Janeiro: Ed. Campus, 1991.
VILLAS, Marcos V & Outros. Estruturas de Dados: Conceitos e Técnicas de implementação. RJ: Ed. Campus, 1993.
BIBLIOGRAFIA COMPLEMENTAR:
SKIENA, Steven; Revilla, Miguel. Programming Challenges. Springer-Verlag New York, 2003.
UVA Online Judge