Estruturas de Dados e Algoritmos em Java
de António Manuel Adrego da Rocha
Sobre o livro
Esta obra tem como objectivo fornecer uma competência sólida no desenvolvimento de programas de média e elevada complexidade e um conhecimento profundo sobre estruturas de dados avançadas e algoritmos complexos, usando a linguagem de programação Java e aplicando o paradigma da programação orientada a objectos. Inclui exemplos, exercícios, programas e leituras recomendadas, com vista a facilitar a aprendizagem dos alunos.
O livro está organizado em cinco grandes temas:
•Estudo do paradigma da programação orientada a objectos na linguagem Java, apresentando os aspectos fundamentais para implementar tipos de dados abstractos concretos e genéricos paramétricos;
•Estudo das principais estruturas de dados dinâmicas: listas simplesmente ligadas (singly linked lists), listas duplamente ligadas (doubly linked lists), listas ligadas com atalhos (skip lists), árvores binárias de pesquisa (binary search trees), árvores de Adelson-Velskii Landis (AVL trees), árvores rubinegras (red black trees), árvores auto-equilibradas (splay trees) e amontoados binários (binary heaps);
•Estudo das principais classes de algoritmos: recursivos, pesquisa, selecção, ordenação, pesquisa exaustiva e numéricos;
•Estudo da implementação dos diferentes tipos de memórias: fila (Queue), pilha (Stack), associativa (Content Access Memory) e fila com prioridade (Priority Queue);
•Estudo do tipo de dados abstracto grafo/dígrafo e seus algoritmos mais importantes: travessias em largura e em profundidade, ordenação topológica, detecção de componentes fortemente conexas, caminhos mais curtos, árvore abrangente de custo mínimo, fecho transitivo, e caminhos e circuitos hamiltonianos e eulerianos.