Open Data Structures: An IntroductionOffered as an introduction to 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, fast, practical, and efficient approach, Morin clearly and briskly presents instructions and 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 traps, 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 standard issues and state-of-the-art structures that will serve the needs of all undergraduate students or self-directed learners.