Skip to content

Data Structures Abstraction and Design Using Java

Best in textbook rentals since 2012!

ISBN-10: 0470128704

ISBN-13: 9780470128701

Edition: 2nd 2010

Authors: Elliot B. Koffman, Paul A. T. Wolfgang

List price: $170.95
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Description:

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.
Customers also bought

Book details

List price: $170.95
Edition: 2nd
Copyright year: 2010
Publisher: John Wiley & Sons, Incorporated
Publication date: 1/26/2010
Binding: Paperback
Pages: 832
Size: 7.50" wide x 9.25" long x 1.00" tall
Weight: 2.486

Preface
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
Testing
The Collections Framework Design
Stacks
Stack Abstract Data Type
Stack Applications
Implementing a Stack
Additional Stack Applications
Queues
Queue Abstract Data Type
Maintaining a Queue of Customers
Implementing the Queue Interface
The Deque Interface
Simulating Waiting Lines Using Queues
Recursion
Recursive Thinking
Recursive Definitions of Mathematical Formulas
Recursive Array Search
Recursive Data Structures
Problem Solving with Recursion
Backtracking
Trees
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
Sorting
Using Java Sorting Methods
Selection Sort
Bubble Sort
Insertion Sort
Comparison of Quadratic Sorts
Shell Sort: A Better Insertion Sort
Merge Sort
Heapsort
Quicksort
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
Skip-Lists
Graphs
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
Arrays
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
Glossary
Index