Esse livro trata dos fundamentos de estruturas de dados e algoritmos - os elementos básicos a partir dos quais se constroem softwares. Os leitores poderão conhecer o uso do projeto orientado a objetos em Java e ilustrar o uso dos padrões de projeto orientado a objetos emergentes. O livro mostra como tais padrões - ingleton, container, enumeração, adaptador, e visitante - são usados para criar projetos de software. 'Estrutura de dados e algoritmos' apresenta a seguinte organização; Modelos de Computador, análise de algoritmos; Estruturas de dados fundamentais, abstração e tipos abstratos de dados; Pilhas, filas, listas ordenadas e listas classificadas; Dispersão, tabelas de dispersão, tabelas de espalhamento; Árvores e árvores de busca; Heaps e filas de prioridade; Técnicas de projeto de algoritmos; Algoritmos de ordenação e ordenadores; Grafos e Algoritmos em Grafos; Revisão dos conceitos fundamentais de programação em Java e uma visão geral de programação orientada a objetos com Java.