Data Structures and Other Objects Using Java - Michael Main

Data Structures and Other Objects Using Java

International Edition

(Autor)

Buch | Softcover
832 Seiten
2005 | 3rd edition
Pearson (Verlag)
978-0-321-36412-8 (ISBN)
79,10 inkl. MwSt
zur Neuauflage
  • Titel erscheint in neuer Auflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
Michael Main’s gentle approach to data structures and objects has introduced thousands of beginning programmers to foundational data structures using the practical Java language. This Third Edition makes the most of the enhancements and advantages of Java 5.0 including the use of generic data types.

 

An early group of chapters reviews the key aspects of object-oriented programming giving students the foundation for understanding significant programming concepts. With this framework they are able to accomplish writing functional data structures by using a five-step method for working with data types; understanding the data type abstractly, writing a specification, using the data type, designing and implementing the data type, and analyzing the implementation.  Students learn to think analytically about the efficiency and efficacy of design while gaining exposure to useful Java classes libraries.  

 

The flexibility of Data Structures and Other Objects Using Java allows instructors to structure their course around a certain emphasis, such as early coverage of recursion and sorting, or to accelerate the pace of the course.

Chapter List

 

CHAPTER 1 The Phases of Software Development

1.1 Specification, Design, Implementation

1.2 Running Time Analysis

1.3 Testing and Debugging

Chapter Summary and Solutions

 

CHAPTER 2 Java Classes and Information Hiding

2.1 Classes and Their Members

2.2 Using a Class

2.3 Packages

2.4 Parameters, Equals Methods, and Clones

Chapter Summary, Solutions and Projects

 

CHAPTER 3 Collection Classes

3.1 A Review of Java Arrays

3.2 An ADT for a Bag of Integers

3.3 Programming Project: The Sequence ADT

3.4 Programming Project: The Polynomial

Chapter Summary, Solutions and Projects

 

CHAPTER 4 Linked Lists

4.1 Fundamentals of Linked Lists

4.2 Methods for Manipulating Nodes

4.3 Manipulating an Entire Linked List

4.4 The Bag ADT with a Linked List

4.5 Programming Project: The Sequence ADT with a Linked List

4.6 Beyond Simple Linked Lists

 

CHAPTER 5 Generic Programming

5.1 Java’s Object Type

5.2 Object Methods and Generic Methods

5.3 Generic Classes

5.4 Generic Nodes

5.5 Interfaces and Iterators

5.6 A Generic Bag Class That Implements the Iteraable Interface (Optional Section)

5.7 Introduction to the Java Collection and Map Interfaces (Optional Section)

Chapter Summary, Solutions and Projects

 

CHAPTER 6 Stacks

6.1 Introduction to Stacks

6.2 Stack Applications

6.3 Implementations of the Stack ADT

6.4 More Complex Stack Applications

Chapter Summary, Solutions and Projects

 

CHAPTER 7 Queues

7.1 Introduction to Queues

7.2 Queue Applications

7.3 Implementations of the Queue ADT

7.4 Priority Queues

Chapter Summary, Solutions and Projects

 

CHAPTER 8 Recursive Thinking

8.1 Recursive Methods

8.2 Studies of Recursion: Fractals and Mazes

8.3 Reasoning about Recursion

Chapter Summary, Solutions and Projects

 

CHAPTER 9 Trees

9.1 Introduction to Trees

9.2 Tree Representations

9.3 A Class for Binary Tree Nodes

9.4 Tree Traversals

9.5 Binary Search Trees

Chapter Summary, Solutions and Projects

 

CHAPTER 10 Tree Projects



10.1 Heaps

10.2 B-Trees

10.3 Java Support for Trees

10.4 Trees, Logs, and Time Analysis

Chapter Summary, Solutions and Projects

 

CHAPTER 11 Searching

11.1 Serial Search and Binary Search

11.2 Open-Address Hashing

11.3 Using Java’s Hashtable Class

11.4 Chained Hashing

11.5 Time Analysis of Hashing

Chapter Summary, Solutions and Projects

 

CHAPTER 12 Sorting

12.1 Quadratic Sorting Algorithms

12.2 Recursive Sorting Algorithms

12.3 An O(n log n) Algorithm Using a Heap

Chapter Summary, Solutions and Projects

 

CHAPTER 13 Software Reuse with Extended Classes

13.1 Extended Classes

13.2 Generic Type Parameters and Inheritance

13.3 Simulation of an Ecosystem

13.3 Abstract Classes and a Game Class

Chapter Summary, Further Reading, Solutions and Projects

 

CHAPTER 14 Graphs

14.1 Graph Definitions

14.2 Graph Implementations

14.3 Graph Traversals

14.4 Path Algorithms

Chapter Summary, Solutions and Projects

 

APPENDIXES

A. Java’s Primitive Types and Arithmetic Overflow

B. Java Input and Output

C. Throwing and Catching Java Exceptions

D. ArrayList, Vector, Hashtable, and HashMap Classes

E. A Class for Nodes in a Linked List

F. A Class for a Bag of Objects

G. Further Big-O Notation

H. Javadoc

I. Applets for Interactive Testing

 

INDEX

Erscheint lt. Verlag 8.11.2005
Sprache englisch
Maße 231 x 188 mm
Gewicht 1206 g
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Informatik Theorie / Studium Algorithmen
Mathematik / Informatik Informatik Web / Internet
ISBN-10 0-321-36412-0 / 0321364120
ISBN-13 978-0-321-36412-8 / 9780321364128
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
mit über 150 Workouts in Java und Python

von Luigi Lo Iacono; Stephan Wiefling; Michael Schneider

Buch (2023)
Carl Hanser (Verlag)
29,99
Einführung, Ausbildung, Praxis

von Christian Ullenboom

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90