Предисловие 13
ЧАСТЬ I. МЕТОДЫ РЕШЕНИЯ ЗАДАЧ 23
Глава 1. Принципы программирования и разработки программного
обеспечения 24
Глава 2. Рекурсия: зеркала 69
Глава 3. Абстракция данных: стены 123
Глава 4. Связанные списки 169
Глава 5. Рекурсивный метод решения задач 236
ЧАСТЬ II. РЕШЕНИЕ ЗАДАЧ С ПОМОЩЬЮ АБСТРАКТНЫХ
ТИПОВ ДАННЫХ 267
Глава 6. Стеки 268
Глава 7. Очереди 319
Глава 8. Особенности языка С++ 358
Глава 9. Эффективность алгоритмов и сортировка 408
Глава 10. Деревья 455
Глава 11. Таблицы и очереди с приоритетами 535
Глава 12. Эффективные реализации таблиц 579
Глава 13. Графы 645
Глава 14. Методы работы с внешними запоминающими устройствами 681
Приложение A. Основы языка С++ 719
Приложение Б. ASCII-коды символов 788
Приложение В. Заголовочные файлы и стандартные функции
в языке С++ 790
Приложение Г. Метод математической индукции 795
Приложение Д. Стандартные шаблонные классы 800
Приложение Е. Операторы языка С++ 803
Словарь терминов 806
Ответы на вопросы для самопроверки 825
Предметный указатель 844