Data Structures Using Java

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.