This book gives a survey of the most used data structures (hashing, searching trees, heaps) and their variants. It is mainly focused on detailed theoretical analysis of the complexity of presented algorithms.