Data Structures and Abstractions with Java, 5th edition

Published by Pearson (March 1, 2018) © 2019

  • Frank M. Carrano University of Rhode Island
  • Timothy M. Henry Rhode Island College
Products list

For one- or two-semester courses in data structures (CS-2)

A relatable and friendly introduction to data structures and their implementation. The 5th Edition of Data Structures and Abstractions with Java introduces students to data structures (CS-2) in a supportive, reader-friendly way. The book's organisation, 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, customisable 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 students 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
  • 2. Bag Implementations That Use Arrays
  • 3. A Bag Implementation That Links Data
  • 4. The Efficiency of Algorithms
  • 5. Stacks
  • 6. Stack Implementations
  • 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
  • 13 Iterators for the ADT List
  • 14. Problem Solving With Recursion
  • 15. An Introduction to Sorting
  • 16. Faster Sorting Methods
  • 17. Sorted Lists
  • 18. Inheritance and Lists
  • 19. Searching
  • 20. Dictionaries
  • 21. Dictionary Implementations
  • 22. Introducing Hashing
  • 23. Hashing as a Dictionary Implementation
  • 24. Trees
  • 25. Tree Implementations
  • 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

Need help? Get in touch