A relatable and friendly introduction to data structures and their implementation
The 5th Edition of Data Structures and Abstractions with Java introduces readers to data structures (CS-2) in a supportive, reader-friendly way. The book’s organization, sequencing, and pace of topic coverage make teaching and learning easier by:
- Focusing the reader’s attention on one concept at a time
- Providing flexibility in the order in which one can cover topics
- Clearly separating the specification of each abstract data type (ADT) from its implementation
- Placing relevant coverage of Java into Java Interludes, which you can use as needed.
To increase readability and learning potential, the numbered segments and modular presentation provide a flexible, customizable pathway through the material and focus the reader’s attention on one concept at a time. Numerous examples that mimic real-world situations provide a context for the new material and help to make it easier for audiences to learn and retain abstract concepts. The 5th Edition has a revamped structure and additional pedagogical tools to assist in mastering concepts.
Introduction: Organizing Data
Prelude: Designing Classes
1. Bags
Java Interlude 1 Generics
2. Bag Implementations That Use Arrays
Java Interlude 2 Exceptions
3. A Bag Implementation That Links Data
4. The Efficiency of Algorithms
5. Stacks
6. Stack Implementations
Java Interlude 3 More About Exceptions
7. Queues, Deques, and Priority Queues
8. Queue, Deque, and Priority Queue Implementations
9. Recursion
10. Lists
11. A List Implementation That Uses an Array
12. A List Implementation That Links Data
Java Interlude 4 Iterators
13 Iterators for the ADT List
14. Problem Solving With Recursion
Java Interlude 5 More About Generics
15. An Introduction to Sorting
16. Faster Sorting Methods
Java Interlude 6 Mutable and Immutable Objects
17. Sorted Lists
Java Interlude 7 Inheritance and Polymorphism
18. Inheritance and Lists
19. Searching
Java Interlude 8 Generics Once Again
20. Dictionaries
21. Dictionary Implementations
22. Introducing Hashing
23. Hashing as a Dictionary Implementation
24. Trees
25. Tree Implementations
Java Interlude 9 Cloning
26. A Binary Search Tree Implementation
27. A Heap Implementation
28. Balanced Search Trees
29. Graphs
30. Graph Implementations
Appendixes:
A. Documentation and Programming Style
B. Java Classes
C. Creating Classes from Other Classes
Online Supplements
1. Java Basics
2. File Input and Output
3. Glossary
4. Answers to Study Questions