Estrutura de Dados (UNIFACS)
Contato: yguarata.cavalcanti [at] pro [dot] unifacs [dot] br
Ementa
Tipos abstratos de dados. Técnicas de utilização de apontadores. Representação e manipulação de filas, pilhas e árvores. Técnicas de busca de informação na memória principal.
Objetivos
Aprimorar a capacidade de abstração do aluno para resolver problemas complexos, de maneira elegante e eficiente. Representar informações na memória do computador de modo eficiente. Conhecer algumas das principais estruturas de dados utilizadas em computação e desenvolver algoritmos para manipulação das mesmas.
Conteúdo programático
- Conceitos básicos de dados
- Tipos abstratos de dados
- Vetores e arranjos (arrays)
- Recursividade
- Conceituação. Aplicações e exemplos.
- Métodos de busca
- Busca linear e busca binária
- Estruturas de dados básicas
- Listas lineares
- Pilhas e filas
- Apontadores
- Listas encadeadas (Simples, Dupla, Múltiplas, Genéricas)
- Árvores
- Árvores genéricas
- Árvores binárias
- Árvores binárias de busca
- Árvores balanceadas AVL
Metodologia
Aulas teóricas, práticas e trabalhos práticos para assimilação dos conceitos apresentados. Elaboração de listas de exercícios para estimular os alunos na práticas do estudo individual. Apresentação de seminários pelos alunos para estimular o estudo individual e a pesquisa.
Avaliação
- Provas (peso 5)
- Trabalhos (peso 2)
- Prova final (peso 3)
Bibliografia Básica
- ZIVIANI, N. Projeto de Algoritmos com Implementações em Pascal e C. Pioneira Thompson, 2003, 2a ed.
- SZWARCFITER, J. L.; MARKENZON, L. Estruturas de Dados e Seus Algoritmos. Editora LTC, 1998.
- CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L.; STEIN, C. Algoritmos: Teoria e Prática. Campus, Rio de Janeiro, 2001.
Bibliografia Complementar
- HOROWITZ, E.; SAHNI, S. Fundamentos de Estruturas de Dados. Campus, Rio de Janeiro, 4a Ed., 1994.
- KNUTH, D. A. The Art of Computer Programming, Vol.1: Fundamental Algorithms. Editora Addison-Wesley, 1973.
- KORTH, H. F.; SILBERCHATZ, A.; SUDARSHAN, S. Sistema de Bancos de Dados. São Paulo: Makron Books, 3a Ed., 1999.
- TENENBAUM, A. M.; LANGSAM Y.; AUGENSTEIN, M. A. Estruturas de dados em C. Editora Prentice-Hall, 1993.
- WEISS, M. A. Algorithms, Data Structures, and Problem Solving with C++. Editora Addison-Wesley, 1996.
- WIRTH, N. Algoritmos e Estruturas de Dados. Prentice-Hall, 1976.
Programação de Aulas
| 28/07/201 0 | Apresentação da disciplina e conceitos básicos de dados |
| 04/08/201 0 | Registros, arrays e Tipos abstratos de dados (TAD) |
| 11/08/2010 | Tipos abstratos de dados (TAD) |
| 18/08/201 0 | Recursividade |
| 25/08/201 0 | Prova 01 |
| 01/09/201 0 | Busca linear, busca binária |
| 08/09/201 0 | Lista com implementação em arranjos |
| 15/09/201 0 | Fila com implementação em arranjos |
| 22/09/201 0 | Pilha com implementação em arranjos – Lista 01 |
| 29/09/201 0 | Circuito UNIFACS (sem aula) |
| 06/10/201 0 | Prova 02 |
| 13/10/2010 | Ponteiros e Lista com implementação em ponteiros – Lista 02 |
| 20/10/2010 | Pilha com implementação em ponteiros — Lista 03 |
| 27/10/2010 | Fila com implementação em ponteiros — Lista 04 |
| 03/11/2010 | Prova 03 |
| 10/11/2010 | Definição do trabalho Equipe 01, Equipe 02, Equipe 03, Equipe 04 |
| 17/11/2010 | Entrega 01 |
| 24/11/2010 | Acompanhamento |
| 01/12/2010 | Entrega final (Segunda chamada) |
| 08/12/2010 | Feriado |
| 15/12/2010 | Prova final |