СПб.: БХВ-Петербург, 2004. — 464 с.: ил. — ISBN: 5-94157-506-8.
Описываются методы построения и использования сложных структур данных: стеки, деревья, графы; нетрадиционные представления данных, в частности функциональное представление. В книге рассматриваются различные алгоритмы обработки этих структур на простых примерах программ.
Изложение осуществляется на основе объектно-ориентированного подхода с использованием языка программирования C++. Показано, как тот или иной выбор решения задач влияет на эффективность и выразительность программ. Приводится большое количество текстов программ, иллюстрирующих рассматриваемые алгоритмы.