Always Learning

Data Structures and Other Objects Using Java, 2/E
Michael Main

ISBN-10: 0201740931
ISBN-13:  9780201740936

Publisher:  Prentice Hall
Copyright:  2003
Format:  Paper; 832 pp
Published:  10/01/2002


Print this content

In this section:


Description

This book takes a gentle approach to the data structures course in Java. It offers an early, self-contained review of object-oriented programming and Java to give students a firm grasp of key concepts, and allows those experienced in other languages to adjust easily. The book also offers a flexibility which allows professors such options as emphasizing object-oriented programming, covering recursion and sorting early or accelerating the pace of the course. This title meets the needs of professors searching for a book to balance the introduction of object-oriented programming and data structures with Java.

The new edition has been updated to cover Java 1.3 and includes new appendices with more reference material on such topics Java collections. It also features increased coverage of object-oriented programming and inheritance. New exercises on radix sort and shell sort have also been added.


Features

  • NEW - NEW! Updated to cover Java 1.3.
  • NEW - NEW! Increased coverage of object-oriented programming.
  • NEW - NEW! New and revised exercises.
  • Offers a flexible ordering of topics so professors can tailor the book to meet their course needs.
  • Teaches students how to specify, design, implement, and use classes based on the Java Class Libraries.
  • Consistently uses a five-step method for working with data types to ensure students have a thorough knowledge of the subject: understand the data type abstractly, write a specification, use the data type, design and implement the data type, and analyze the implementation.
  • Shows students how to write Java Applets to test newly implemented data structures.


Table of Contents



The Phases of Software Development.

Specification, Design, Implementation.

Running Time Analysis.

Testing and Debugging.



Abstract Data Types and Java Classes.

Classes and Their Members.

Using a Class.

Packages.

Parameters, Equals Methods, and Clones.



Collection Classes.

A Review of Java Arrays.

An ADT for a Bag of Integers.

Programming Project: The Sequence ADT.

Applets for Interactive Testing.



Linked Lists.

Fundamentals of Linked Lists.

Methods for Manipulating Nodes.

Manipulating an Entire Linked List.

The Bag ADT with a Linked List.

Programming Project: The Sequence ADT with a Linked List.

Arrays vs. Linked Lists vs. Doubly Linked Lists.



Java Objects and Iterators.

Java's Object Type.

A Bag of Objects.

JCL Collections and Nodes of Objects.

Iterators.



Stacks.

Introduction to Stacks.

Stack Applications.

Implementations of the Stack ADT.

More Complex Stack Applications.



Queues.

Introduction to Queues.

Queue Applications.

Implementations of the Queue.



ADT.

Priority Queues.



Recursive Thinking.

Recursive Methods.

Studies of Recursion: Fractals and Mazes.

Reasoning about Recursion.



Trees.

Introduction to Trees.

Tree Representations.

A Class for Binary Tree Nodes.

Tree Traversals.

Binary Search Trees.



Tree Projects.

Heaps.

B-Trees.

Trees, Logs, and Time Analysis.



Searching.

Serial Search and Binary Search.

Open-Address Hashing.

Using Java's Hashtable Class.

Chained Hashing.

Time Analysis of Hashing.



Sorting.

Quadratic Sorting Algorithms.

Recursive Sorting Algorithms.

An O(N LOG N) Algorithm Using a Heap.



Software Reuse with Extended Classes.

Extended Classes.

Simulation of an Ecosystem.

Using Extended Classes for ADTs.



Graphs.

Graph Definitions.

Graph Implementations.

Graph Traversals.

Path Algorithms.



Appendices.

Java's Primitive Types and Arithmetic Overflow.

Java Input.

Throwing and Catching Java Exceptions.

Java's Vector and Hashtable.

A Class for Nodes in a Linked List.

A Class for a Bag of Objects.

Further Big-O Notation.

Javadoc.


Next Edition(s)

  • Data Structures and Other Objects Using Java, 4/E
    Main
    ©2012  |  Prentice Hall  |  Paper; 848 pp  |  Instock
    ISBN-10: 0132576244  |  ISBN-13: 9780132576246
    Brief Description  |  More Info



Back to top

Print this content

In this section:


Author Bios

Michael Main is an Associate Professor of Computer Science at the University of Colorado at Boulder. As a chairman of the undergraduate committee, he participated in the University's development and implementation of the Bachelor's of Science degree in Computer Science. Recognized as gifted teacher of undergraduates, he has incorporated many of his innovative teaching techniques into his Addison-Wesley textbooks.

Back to top

Print this content

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.

Back to top