Java Primer | |
Getting Started: Classes, Types, and Objects | |
Methods | |
Expressions | |
Control Flow | |
Arrays | |
Simple Input and Output | |
An Example Program | |
Nested Classes and Packages | |
Writing a Java Program | |
Exercises | |
Object-Oriented Design | |
Goals, Principles, and Patterns | |
Inheritance and Polymorphism | |
Exceptions | |
Interfaces and Abstract Classes | |
Casting and Generics | |
Exercises | |
Indices, Nodes, and Recursion | |
Using Arrays | |
Singly Linked Lists | |
Doubly Linked Lists | |
Circularly Linked Lists and Linked-List Sorting | |
Recursion | |
Exercises | |
Analysis Tools | |
The Seven Functions Used in This Book | |
Analysis of Algorithms | |
Simple Justification Techniques | |
Exercises | |
Stacks, Queues, and Deques | |
Stacks | |
Queues | |
Double-Ended Queues | |
Exercises | |
List and Iterator ADTs | |
Array Lists | |
Node Lists | |
Iterators | |
List ADTs and the Collections Framework | |
Case Study: The Move-to-Front Heuristic | |
Exercises | |
Trees | |
General Trees | |
Tree Traversal Algorithms | |
Binary Trees | |
Exercises | |
Heaps and Priority Queues | |
The Priority Queue Abstract Data Type | |
Implementing a Priority Queue with a List | |
Heaps | |
Adaptable Priority Queues | |
Exercises | |
Hash Tables, Maps, and Skip Lists | |
Maps | |
Hash Tables | |
Ordered Maps | |
Skip Lists | |
Dictionaries | |
Exercises | |
Search Trees | |
Binary Search Trees | |
AVL Trees | |
Splay Trees | |
(2,4) Trees | |
Red-Black Trees | |
Exercises | |
Sorting, Sets, and Selection | |
Merge-Sort | |
Quick-Sort | |
Studying Sorting through an Algorithmic Lens | |
Sets and Union/Find Structures | |
Selection | |
Exercises | |
Strings and Dynamic Programming | |
String Operations | |
Dynamic Programming | |
Pattern Matching Algorithms | |
Text Compression and the Greedy Method | |
Tries | |
Exercises | |
Graph Algorithms | |
Graphs | |
Data Structures for Graphs | |
Graph Traversals | |
Directed Graphs | |
Shortest Paths | |
Minimum Spanning Trees | |
Exercises | |
Memory Management and B-Trees | |
Memory Management | |
External Memory and Caching | |
External Searching and B-Trees | |
External-Memory Sorting | |
Exercises | |
A Useful Mathematical Facts | |
Bibliography | |
Index | |
Table of Contents provided by Publisher. All Rights Reserved. |