- OBJETIVOS: Estudo das diversas estruturas de dados, sua manipulação e suas aplicações.
- PROGRAMA:
Listas ligadas: listas simples, duplas, circulares, ortogonais e
matrizes. Alocação dinâmica de memória. Pilhas e filas. Árvores:
implementação, algoritmos de busca, inserção e remoção. Árvores binárias
de busca, árvores balanceadas: AVL, rubro-negras, B-árvores.
Representação de conjuntos. Estruturas abstratas de dados,
encapsulamento. Exemplos de aplicações de estruturas de dados.
- PRÉ-REQUISITOS:
MAC-122.
- CARGA HORÁRIA SEMANAL E NÚMERO DE CRÉDITOS:
8 horas, 4 créditos-aula e 2 créditos-trabalho (????)
- CRITÉRIO DE AVALIAÇÃO DA APRENDIZAGEM: Média ponderada de provas e exercícios.
- BIBLIOGRAFIA BÁSICA: (do programa oficial)
- T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein,
Introduction to Algorithms, 2nd ed., McGraw-Hill, 2001.
- T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein,
Algoritmos - Teoria e Prática, Campus, 2002.
- D.E. Knuth, The Art of Computer Programming, vols. 1 e 3, Addison-Wesley, 1973.
- N. Wirth, Algorithms and Data Structures, Prentice-Hall, 1986.
- A.V. Aho, J.E. Hopcroft, J.D. Ullman,
Data Structures and Algorithms, Addison-Wesley, 1983.
- Y. Langsam, M.J. Augenstein, A.M. Tenenbaum,
Data Structures using C and C++, Prentice-Hall, 1996.
- A.V. Aho, J.D. Ullman, Foundations of Computer Science, Computer Science Press, 1992.
- BIBLIOGRAFIA BÁSICA: (complemento, a ser usado neste semestre)
- T.A. Standish, Data Structures in Java, Addison-Wesley, 1998.
- E. Horowitz, S. Sahni, Fundamentos de Estruturas de Dados, Ed. Campus, 1984.
(Obs: a primeira edição deste livro em Português está bem ruim)
|
|