Synopses & Reviews
Data Structures Using Java is an introduction to data structure abstraction. It provides information on abstract concepts and shows students how those concepts are useful in problem solving. It goes on to demonstrate that abstractions can be made concrete by using Java.
Java is an appropriate language to use in teaching the concepts of data abstraction since it contains the control structures necessary to make programs readable and allows basic data structures such as stacks, linked lists and trees to be implemented in a variety of ways.
Data Structures Using Java guides the reader through the steps of how to identify a problem, implement a solution, and apply the solution to a real-world situation. This book is also a valuable reference for professional programmers.
Key Features:
- Algorithms are explained in detail and analyzed showing step-by-step solutions to real-world problems.
- Issues and pitfalls that may occur as algorithms are transformed into programs are discussed.
- Each data structure is implemented in a variety of ways that demonstrate the real choices and trade-offs programmers face.
- Concepts in the text are illustrated by several examples (such as postfix notation, multiword arithmetic, etc.).
- Additional supplementary materials are available to the instructor. These include chapter objectives, PowerPoint slides of most of the figures in the text, solutions (and, when applicable, working code) to the end-of-chapter exercises, and working versions of all the code in the text.
Synopsis
This book employs an object-oriented approach to teaching data structures using Java. Many worked examples and approximately 300 additional examples make this book easily accessible to the reader. Most of the concepts in the book are illustrated by several examples, allowing readers to visualize the processes being taught. Introduces abstract concepts, shows how those concepts are useful in problem solving, and then shows the abstractions can be made concrete by using a programming language. Equal emphasis is placed on both the abstract and the concrete versions of a concept, so that the reader learns about the concept itself, its implementation, and its application. For anyone with an interest in learning more about data structures.
Table of Contents
1. Introduction To Data Structures.
Information and Meaning. Arrays, Strings, and Vectors in Java. Classes and Objects in Java.
2. The Stack.
Definitions and Examples. Representing Stacks in Java. Example: Infix, Postfix and Prefix. Stack of Objects of Varying Types.
3. Recursion.
Recursive Definition and Processes. Recursion in Java. Writing Recursive Programs. Simulating Recursion. Efficiency of Recursion.
4. Queues and Lists.
The Queue and Its Sequential Representation. Linked Lists. Lists in Java. Lists in Java. An Example: Simulation Using Linked Lists. Other List Structures.
5. Trees.
Binary Trees. Binary Tree Representations. An Example: The Huffman Algorithm. Representing Lists as Binary Trees. Trees and Their Applications. Example: Game Trees.
6. Sorting.
General Background. Exchange Sorts. Selection and Tree Sorting. Insertion Sorts. Merge and Radix Sorts.
7. Searching.
Basic Search Techniques. Tree Searching. General Search Trees. Hashing.
8. Graphs and Their Applications.
Graphs. Flow Problem. Links Representation of Graphs. Graph Traversal and Spanning Forests.
9. Storage Management.
General Lists. Automatic List Management. Dynamic Memory Management.