(0) items

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.
Data Structures: Abstraction and Design Using Java, 2nd Edition,9780470128701
This item qualifies for

Your order must be $59 or more, you must select US Postal Service Shipping as your shipping preference, and the "Group my items into as few shipments as possible" option when you place your order.

Bulk sales, PO's, Marketplace Items, eBooks, Apparel, and DVDs not included.

Data Structures: Abstraction and Design Using Java, 2nd Edition



by ;
Pub. Date:
List Price: $177.33

Rent Textbook



Only one copy
in stock at this price.

Buy Used Textbook

In Stock Usually Ships in 24 Hours.

Buy New Textbook

In Stock Usually Ships in 24 Hours.


More New and Used
from Private Sellers
Starting at $28.02

Questions About This Book?

Why should I rent this book?

Renting is easy, fast, and cheap! Renting from can save you hundreds of dollars compared to the cost of new or used books each semester. At the end of the semester, simply ship the book back to us with a free UPS shipping label! No need to worry about selling it back.

How do rental returns work?

Returning books is as easy as possible. As your rental due date approaches, we will email you several courtesy reminders. When you are ready to return, you can print a free UPS shipping label from our website at any time. Then, just return the book to your UPS driver or any staffed UPS location. You can even use the same box we shipped it in!

What version or edition is this?

This is the 2nd edition with a publication date of 1/1/2010.

What is included with this book?

  • The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any CDs, lab manuals, study guides, etc.
  • The Used copy of this book is not guaranteed to include any supplemental materials. Typically, only the book itself is included.
  • The Rental copy of this book is not guaranteed to include any supplemental materials. You may receive a brand new copy, but typically, only the book itself.
  • The eBook copy of this book is not guaranteed to include any supplemental materials. Typically only the book itself is included.


This book lays the foundation for programmers to build their skills. The focus is placed on how to implement effective programs using the JCL instead of producing mathematical proofs. The coverage is updated and streamlined to provide a more accessible approach to programming. They'll be able to develop a thorough understanding of basic data structures and algorithms through an objects-first approach. Data structures are discussed in the context of software engineering principles. Updated case studies also show programmers how to apply essential design skills and concepts.

Table of Contents

Object-Oriented Programming and Class Hierarchies
ADTs, Interfaces, and the Java API
Introduction to Object-Oriented Programming
Method Overriding, Method Overloading, and Polymorphism
Abstract Classes
Class Object and Casting
A Java Inheritance Example The Exception Class Hierarchy
Packages and Visibility
A Shape Class Hierarchy
Lists and the Collections Framework
The List Interface and ArrayList Class
Applications of ArrayList
Implementation of an ArrayList Class
Algorithm Efficiency and Big-O
Single-Linked Lists
Double-Linked Lists and Circular Lists
The LinkedList Class and the Iterator, ListIterator, and Iterable Interfaces
Implementation of a Double-Linked List Class
Application of the LinkedList Class
The Collections Framework Design
Stack Abstract Data Type
Stack Applications
Implementing a Stack
Additional Stack Applications
Queue Abstract Data Type
Maintaining a Queue of Customers
Implementing the Queue Interface
The Deque Interface
Simulating Waiting Lines Using Queues
Recursive Thinking
Recursive Definitions of Mathematical Formulas
Recursive Array Search
Recursive Data Structures
Problem Solving with Recursion
Tree Terminology and Applications
Tree Traversals
Implementing a BinaryTree Class
Binary Search Trees
Heaps and Priority Queues
Huffman Trees
Sets and Maps
Sets and the Set Interface
Maps and the Map Interface
Hash Tables
Implementing the Hash Table
Implementation Considerations for Maps and Sets
Additional Applications of Maps
Navigable Sets and Maps
Using Java Sorting Methods
Selection Sort
Bubble Sort
Insertion Sort
Comparison of Quadratic Sorts
Shell Sort: A Better Insertion Sort
Merge Sort
Testing the Sort Algorithms
The Dutch National Flag Problem (Optional Topic)
Self-Balancing Search Trees
Tree Balance and Rotation
AVL Trees
Red-Black Trees
2-3 Trees
B-Trees and 2-3-4 Trees
Graph Terminology
The Graph ADT and Edge Class
Implementing the Graph ADT
Traversals of Graphs
Applications of Graph Traversals
Algorithms Using Weighted Graphs
Introduction to Java
The Java Environment and Classes
Primitive Data Types and Reference Variables
Java Control Statements
Methods and Class Math
The String, StringBuilder, and StringBuffer Classes
Wrapper Classes for Primitive Types
Defining Your Own Classes
Input/Output Using Class JOptionPane
Input/Output Using Streams and the Scanner Class
Catching Exceptions
Throwing Exceptions
Overview of UML
The Class Diagram
Sequence Diagrams
Event-Oriented Programming
Elements of an Event-Oriented Application
Overview of the AWT and Swing Hierarchy
Layout Managers
Components for Data Entry
Using Data Entry Components in a GUI
Menus and Toolbars
Processing Mouse Events
Testing and Debugging
Testing Using the JUnit Framework
Debugging a Program
Visualizing Data Structures
Table of Contents provided by Publisher. All Rights Reserved.

Please wait while the item is added to your cart...