Data Structures and Algorithms with Object-Oriented Design Patterns in Java

Algorithm Analysis. Asymptotic Notation. Foundational Data Structures. Data Types and Abstraction. Stacks, Queues, and Deques. Ordered Lists and Sorted Lists. Hashing, Hash Tables, and Scatter Tables. Trees. Search Trees. Heaps and Priority Queues. Sets, Multisets, and Partitions. Garbage Collection. Algorithmic Patterns and Problem Solvers. Sorting Algorithms and Sorters. Graphs and Graph Algorithms. Appendices. Bibliography. Index.