[home] [major coverage] [key features] [preface and contents] [summary flyer] [online resources]

A Practical Guide to Data Structures and Algorithms Using Java

Sally A. Goldman and Kenneth J. Goldman
Washington University in St. Louis

Major Coverage


All data structures and algorithms are presented using complete Java code
in a unifying object-oriented framework with careful, intuitive explanations.

Introduction:
Design Principles, Selecting an Abstract Data Type, How to Use This Book

Partition ADT:
Union-Find Data Structure

Positional Collection ADT:
Array (including quicksort, merge sort, insertion sort, heap sort, tree sort, radix sort, bucket sort, selection/median finding), Circular Array, Dynamic Array, Dynamic Circular Array, Tracked Array, Singly-Linked List, Doubly-Linked List, Buffer, Queue, Stack

Set ADT:
Direct Addressing, Separate Chaining, Open Addressing

Priority Queue ADT:
Binary Heap, Leftist Heap, Pairing Heap, Fibonacci Heap

Ordered Collection ADT:
Sorted Array (including binary search), Binary Search Tree, Red-Black Tree, Splay Tree, B-Tree, B+-Tree, Skip List

Digitized Ordered Collection ADT:
Trie, Compact Trie, Compressed Trie, Patricia Trie, Ternary Search Trie

Spatial Collection ADT:
KD-Tree, QuadTree

Tagged Collection ADT:
Tagged Collection Wrapper (supports using arbitrary collections for tag/key-based insertion and lookup)

Tagged Bucket Collection ADT:
Tagged Bucket Collection Wrapper (supports grouping elements with the same tag)

Graph Representations:
Adjacency Matrix and Adjacency List

Graph ADT:
Breadth-first search, depth-first search, connected components, topological sort, strongly connected components

Weighted Graph ADT:
Dijkstra's and Bellman-Ford's single-source shortest path algorithms, Floyd-Warshall all-pairs shortest path algorithm, Prim's and Kruskal's minimum spanning tree algorithms, Edmonds-Karp maximum flow algorithm

Appendices:
Java Fundamentals, Complexity Analysis, Design Patterns

References

Index

[home] [major coverage] [key features] [preface and contents] [summary flyer] [online resources]