## Book description

Object-Oriented Data Structures Using Java, Fourth Edition presents traditional data structures and object-oriented topics with an emphasis on problem-solving, theory, and software engineering principles.

1. Cover Page
2. Title Page
4. Dedication
5. Contents
6. Preface
7. 1 Getting Organized
1. 1.1 Classes, Objects, and Applications
2. 1.2 Organizing Classes
3. 1.3 Exceptional Situations
4. 1.4 Data Structures
5. 1.5 Basic Structuring Mechanisms
6. 1.6 Comparing Algorithms: Order of Growth Analysis
7. Summary
8. Exercises
1. 2.1 Abstraction
2. 2.2 The Stack
3. 2.3 Collection Elements
4. 2.4 The Stack Interface
5. 2.5 Array-Based Stack Implementations
6. 2.6 Application: Balanced Expressions
7. 2.7 Introduction to Linked Lists
9. 2.9 Application: Postfix Expression Evaluator
10. 2.10 Stack Variations
11. Summary
12. Exercises
9. 3 Recursion
1. 3.1 Recursive Definitions, Algorithms, and Programs
2. 3.2 The Three Questions
3. 3.3 Recursive Processing of Arrays
4. 3.4 Recursive Processing of Linked Lists
5. 3.5 Towers
6. 3.6 Fractals
7. 3.7 Removing Recursion
8. 3.8 When to Use a Recursive Solution
9. Summary
10. Exercises
1. 4.1 The Queue
2. 4.2 The Queue Interface
3. 4.3 Array-Based Queue Implementations
4. 4.4 An Interactive Test Driver
6. 4.6 Application: Palindromes
7. 4.7 Queue Variations
8. 4.8 Application: Average Waiting Time
9. 4.9 Concurrency, Interference, and Synchronization
10. Summary
11. Exercises
1. 5.1 The Collection Interface
2. 5.2 Array-Based Collection Implementation
3. 5.3 Application: Vocabulary Density
4. 5.4 Comparing Objects Revisited
5. 5.5 Sorted Array-Based Collection Implementation
7. 5.7 Collection Variations
8. Summary
9. Exercises
1. 6.1 The List Interface
2. 6.2 List Implementations
3. 6.3 Applications: Card Deck and Games
4. 6.4 Sorted Array-Based List Implementation
5. 6.5 List Variations
6. 6.6 Application: Large Integers
7. Summary
8. Exercises
13. 7 The Binary Search Tree ADT
1. 7.1 Trees
2. 7.2 Binary Search Trees
3. 7.3 The Binary Search Tree Interface
4. 7.4 The Implementation Level: Basics
5. 7.5 Iterative Versus Recursive Method Implementations
6. 7.6 The Implementation Level: Remaining Observers
7. 7.7 The Implementation Level: Transformers
8. 7.8 Binary Search Tree Performance
9. 7.9 Application: Word Frequency Counter
10. 7.10 Tree Variations
11. Summary
12. Exercises
1. 8.1 The Map Interface
2. 8.2 Map Implementations
3. 8.3 Application: String-to-String Map
4. 8.4 Hashing
5. 8.5 Hash Functions
6. 8.6 A Hash-Based Map
7. 8.7 Map Variations
8. Summary
9. Exercises
15. 9 The Priority Queue ADT
1. 9.1 The Priority Queue Interface
2. 9.2 Priority Queue Implementations
3. 9.3 The Heap
4. 9.4 The Heap Implementation
5. Summary
6. Exercises
1. 10.1 Introduction to Graphs
2. 10.2 The Graph Interface
3. 10.3 Implementations of Graphs
4. 10.4 Application: Graph Traversals
5. 10.5 Application: The Single-Source Shortest-Paths Problem
6. Summary
7. Exercises
17. 11 Sorting and Searching Algorithms
1. 11.1 Sorting
2. 11.2 Simple Sorts
3. 11.3 O(N log2N) Sorts
4. 11.4 More Sorting Considerations
5. 11.5 Searching
6. Summary
7. Exercises
18. Appendix A: Java Reserved Words
19. Appendix B: Operator Precedence
20. Appendix C: Primitive Data Types
21. Appendix D: ASCII Subset of Unicode
22. Glossary
23. Index

## Product information

• Title: Object-Oriented Data Structures Using Java, 4th Edition
• Author(s): Dale
• Release date: September 2016
• Publisher(s): Jones & Bartlett Learning
• ISBN: 9781284089103