MAC 324 - Estruturas de Dados para Engenharia



Poli, Primeiro semestre de 1998, (17fev98)



Bibliografia

Textos principais

T. Standish.
Data Structures in Java.
Addison-Wesley, 1998.

Este será o texto básico para a disciplina. O texto básico deverá ser complementado com os livros abaixo.

----

K. Arnold and J. Gosling.
The Java Programming Language.
Addison-Wesley, 2nd edition, 1997.

Esta é a definição oficiosa da linguagem Java. Existe também outro documento mais formal.

----

D. Flanagan.
Java in a Nutshell.
O'Reilly & Associates Inc., 2nd edition, 1997.

Este é uma espécie de manual da linguagem Java.

----

N. Wirth.
Algorithms & Data Structures.
Prentice Hall, Englewood Cliffs, NJ, 1986.

Livro excelente, usando a linguagem MODULA-2.

----

N. Wirth.
Algoritmos & Estruturas de Dados.
Prentice Hall, Rio de Janeiro, RJ, 1989.

Tradução do livro acima para o Português.

Textos extensos

D. E. Knuth.
The Art of Computer Programming, volumes 1 e 3.
Addison-Wesley, 1969 e 1973.

O volume 1 é o primeiro livro sobre estrutura de dados. Até hoje o texto mais completo sobre o assunto. Centenas de exercícios com sugestões, abrangendo desde exercícios fáceis até problemas em aberto.

O volume 3 é outro livro enciclopédico, na tradição `Knuthiana', desta vez sobre ordenação e busca, dois dos principais tópicos do curso.

Linguagens de programação

C. S. Horstmann and G. Cornell.
Core JAVA, volume vol. I - Fundamentals.
Sun Microsystems, 1997.
CD-ROM.

C. S. Horstmann and G. Cornell.
Core JAVA, volume vol. II - Advanced Features.
Sun Microsystems , 1997.
CD-ROM.

Dois livros muito bons e completos sobre Java. Acompanham CD's.

----

D. Flanagan.
Java Examples - In a Nutshell.
O'Reilly & Associates Inc., 1997.

Livro de exemplos que acompanha o manual citado entre os textos principais.

----

B. Stroustrup.
The C++ Programming Language.
Addison-Wesley, 2nd edition, 1991.

A definição oficial da linguagem C++.

----

B. Kernighan and D. Ritchie.
The C Programming Language: ANSI C Version.
Prentice Hall, Englewood Cliffs, NJ, 2nd edition, 1988.

A definição `oficial' da liguagem C.

----

K. Jensen and N. Wirth.
User Manual and Report.
Springer-Verlag, New York, 3rd edition, 1985.

Contém a definição `oficial' da linguagem Pascal. É um livro muito interessante, escrito para o usuário com alguma experiência em programação.

----

N. Wirth.
Programming in Modula-2.
Springer-Verlag, Berlin, 3rd edition, 1985.

Outra introdução à programação dirigida para o usuário com aluguma experiência. Inclui a definição `oficial' da liguagem Modula-2. (Escrito pelo próprio autor da liguagem.)

Estrutura de dados e análise de algoritmos

M. Weiss.
Data Structures and Problem Solving Using Java.
Addison-Wesley, 1998.

Único livro, além do livro texto adotado, de Estruturas de Dados em Java. Este é um livro mais pesado do que o texto adotado mas pode complementá-lo bem.

----

T. H. Cormen, C. E. Leiserson, and R. L. Rivest.
Introduction to Algorithms.
MIT Press e McGraw-Hill, 1992.

Livro clássico de Análise de Algoritmos, de nível avançado.

----

A. Aho, J. Hopcroft, and J. Ullman.
The Design and Analysis of Computer Algorithms.
Addison-Wesley, Reading, Mass., 1974.

Contém as análises detalhadas dos algoritmos a serem estudados no curso. (Bibliografia clássica em análise de algoritmos.)

----

A. V. Aho, J. E. Hopcroft, and J. D. Ullman.
Data Structures and Algorithms.
Addison-Wesley, 1987.

Versão ``light'' do livro acima, mais adequado para esta disciplina.

----

S. Baase.
Computer Algorithms: Introduction to Design and Analysis.
Addison-Wesley, 1978.

Um texto bastante didático e elementar.

----

J. L. Szwarcfiter and L. Markenzon.
Estruturas de Dados e seus Algoritmos.
LTC Editora, 1994.

R. Terada.
Desenvolvimento de Algoritmos e Estruturas de Dados.
McGraw-Hill e Makron Books do Brasil, 1991.

N. Ziviani.
Projeto de Algoritmos com Implementações em Pascal e C.
Livraria Pioneira Editora, 1993.

Três textos em português, por autores brasileiros, sobre estruturas de dados e análise de algoritmos.

----

Horowitz, E. & Sahni, S. (1984), Fundamentals of Computer Algorithms, Computer Science Press, Rockville, Maryland, 1984.

Livro didático que trata de análise e desenvolvimento de algoritmos.

----

E. Horowitz and S. Sahni.
Fundamentals of Data Structures.
Computer Science Press, 1978.

Texto bastante didático e completo sobre estrutura de dados.

----

E. Horowitz and S. Sahni.
Fundamentos de Estrutura de Dados.
Campus, Rio de Janeiro, RJ, 1984.

Versão do livro acima traduzida para o português.

Outros textos correlatos

E. Dijkstra.
A Discipline of Programming.
Prentice-Hall, Englewood Cliffs, NJ, 1976.

Um texto sobre síntese de algoritmos corretos que influiu muito na evolução do estilo de programação.

----

D. Gries.
The Science of Programming.
Springer-Verlag, New York, 1981.

Um texto avançado sobre síntese de algoritmos corretos. Muito bem escrito, contém excelentes exemplos.

----

A. Veloso.
Tipos (Abstratos) de Dados, Programação, Especificação, Implementação.
V Escola de Computação, Belo Horizonte, MG, 1986.

Um texto sobre tipos abstratos de dados.