Skip to main content Skip to main navigation

Data Structures and Abstractions with Java, 5th edition

  • Frank M. Carrano
  • Timothy M. Henry
Data Structures and Abstractions with Java

ISBN-13: 9780134831695

Includes: Hardcover

5th edition

Published byPearson (March 1st 2018) - Copyright © 2019

Free delivery
$173.32 $138.66
Free delivery
$173.32 $138.66

What's included

  • Hardcover

    You'll get a bound printed text.


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.

Table of contents

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


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

For teachers

All the material you need to teach your courses.

Discover teaching material