“Data Structures and Algorithms with Object-Oriented Design Patterns in Java” is a free web book by Bruno R. Preiss. It covers topics like Foundational Data Structures, Data Types and Abstraction, Stacks, Queues, and Deques and Ordered Lists and Sorted Lists.
Author Bruno Preiss presents the fundamentals of data structures and algorithms from a modern, object-oriented perspective. The text promotes object-oriented design using Java and illustrates the use of the latest object-oriented design patterns. Virtually all the data structures are discussed in the context of a single class hierarchy. This frame work clearly shows the relationships between data structures and illustrates how polymophism and inheritance can be used effectively.
Table of Contents
- 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
- Search Trees
- Heaps and Priority Queues
- Sets, Multisets, and Partitions
- Garbage Collection and the Other Kind of Heap
- Algorithmic Patterns and Problem Solvers
- Sorting Algorithms and Sorters
- Graphs and Graph Algorithms
- Java and Object-Oriented Programming
- Class Hierarchy Diagrams
- Character Codes
Link: Read online.