Adam Drozdek

ISBN-13: 9788522126651

© 2017

708 Páginas

Com base em uma ampla aplicação da linguagem C++, este livro oferece um leque de estudo e, ao mesmo tempo, orienta a estrutura de dados e dos algoritmos associados a eles, utilizando C++ como linguagem de implementação. O livro enfatiza especialmente a conexão entre a estrutura de dados e seus algoritmos, incluindo uma análise da complexidade dos algoritmos. A estrutura de dados no contexto do projeto de programa orientado a objeto e a implementação da estrutura de dados e suas implicações para a seleção da linguagem de programação também são examinadas.
A quarta edição traz apresentações mais aprofundadas de estruturas de dados, incluindo treaps e árvores k-d, além de métodos adicionais de ordenação e de hashing e uma seção inédita sobre coleta de lixo geracional.

Este livro fornece o material para um curso introdutório de estruturas de dados, bem como para uma estrutura de dados e algoritmos avançados. Também atende aos requisitos para as seguintes unidades especificadas no Currículo da Ciência da Computação ACM 2008: DS/Graphs, AndTrees, F/DataStructures, PF/Recursion, PF/ObjectOriented, AL/BasicAnalysis, /AlgorithmicStrategies,AL/FundamentalAlgorithms, AL/PversusNP, PL/DeclarationsAndTypes, PL/AbstractionMechanisms, PL/ObjectOrientedProgramming.

Cada capítulo contém uma discussão do material ilustrada com diagramas e tabelas apropriados.Com exceção do Capítulo 2, todos os outros incluem um estudo de caso.

No fim, acompanhando o texto de cada capítulo há um conjunto de exercícios com diferentes graus de dificuldade. Os Capítulos 1 a 6 (excluindo as Seções 2.9 e 2.10, 3.4, 6.4.3, 6.7 e 6.8 e 6.10 e 6.11) contêm o material que forma a base de qualquer curso de estruturas de dados. Esses capítulos devem ser estudados em sequência. Os seis capítulos restantes podem ser lidos em qualquer ordem. O livro inteiro poderia também ser usado em uma sequência de dois semestres. A nova edição estende a anterior e inclui material sobre novos tópicos, sendo:

  • Seção sobre treaps (6.10) e outra sobre árvores k-d (6.11)
  • Seção sobre árvores-B k-d (7.15)
  • Discussão dos dois métodos de ordenação adicionais (Seções 9.1.3.1, 9.3.6) Nova técnica de hashing (Seção 10.5.1)
  • Seção sobre a coleta de lixo gerativa (12.3.4)

Capítulo 1 Programação Orientada a Objetos Usando C++ 1
Capítulo 2 Análise de Complexidade
Capítulo 3 Listas Ligadas
Capítulo 4 Pilhas e filas
Capítulo 5 Recursão
Capítulo 6 Árvores binárias
Capítulo 7 Árvores múltiplas
Capítulo 8 Grafos
Capítulo 9 Ordenação
Capítulo 10 Escrutínio (“hashing”)
Capítulo 11 Compressão de dados
Capítulo 12 Gerenciamento de memória
Capítulo 13 Casamento de Cadeias

APÊNDICES
Apêndice A Calculando o o-Grande
Apêndice B Algoritmos na Biblioteca de Formatos Padrão
Apêndice C NP-Completude

ÍNDICE REMISSIVO