Offered as an introduction to the field of data structures and algorithms, Open Data Structures covers the implementation and analysis of data structures for sequences (lists), queues, priority queues, unordered dictionaries, ordered dictionaries, and graphs. Focusing on a mathematically rigorous approach that is fast, practical, and efficient, Morin clearly and briskly presents instruction along with source code. Analyzed and implemented in Java, the data structures presented in the book include stacks, queues, deques, and lists implemented as arrays and linked-lists
space-efficient implementations of lists
skip lists
hash tables and hash codes
binary search trees including treaps, scapegoat trees, and red-black trees
integer searching structures including binary tries, x-fast tries, and y-fast tries
heaps, including implicit binary heaps and randomized meldable heaps
graphs, including adjacency matrix and adjacency list representations
and B-trees. A modern treatment of an essential computer science topic, Open Data Structures is a measured balance between classical topics and state-of-the art structures that will serve the needs of all undergraduate students or self-directed learners.