В пособии рассмотрены наиболее распространенные структуры данных – от обычных массивов до сложных многосвязных динамических структур. Рассмотрена концепция абстрактных типов данных, описаны основные АТД. Описание сопровождается примерами программных реализаций. Кратко изложены методы оценки временной и пространственной сложности алгоритмов. Отдельная глава посвящена сбалансированным деревьям и хеш-таблицам.