Allows students to move more easily from abstraction to implementation.
Provides students with the ability to understand data structures as an abstract concept.
Allows the student to focus on the method used to solve a problem.
Allows students to visualize the processes being taught.
Provides students with opportunity to practice concepts being taught at varying degrees of difficulty.
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.
1. Introduction To Data Structures.
Information and Meaning. Arrays, Strings, and Vectors in Java. Classes and Objects in Java.
Definitions and Examples. Representing Stacks in Java. Example: Infix, Postfix and Prefix. Stack of Objects of Varying Types.
Recursive Definition and Processes. Recursion in Java. Writing Recursive Programs. Simulating Recursion. Efficiency of Recursion.
The Queue and Its Sequential Representation. Linked Lists. Lists in Java. Lists in Java. An Example: Simulation Using Linked Lists. Other List Structures.
Binary Trees. Binary Tree Representations. An Example: The Huffman Algorithm. Representing Lists as Binary Trees. Trees and Their Applications. Example: Game Trees.
General Background. Exchange Sorts. Selection and Tree Sorting. Insertion Sorts. Merge and Radix Sorts.
Basic Search Techniques. Tree Searching. General Search Trees. Hashing.
Graphs. Flow Problem. Links Representation of Graphs. Graph Traversal and Spanning Forests.
General Lists. Automatic List Management. Dynamic Memory Management.