Предисловие 14
Глава 1. Введение 23
Глава 2. Основы анализа эффективности алгоритмов 73
Глава 3. Метод грубой силы 141
Глава 4. Метод декомпозиции 167
Глава 5. Метод уменьшения размера задачи 203
Глава 6. Метод преобразования 247
Глава 7. Пространственно-временной компромисс 305
Глава 8. Динамическое программирование 339
Глава 9. Жадные методы 369
Глава 10. Ограничения мощи алгоритмов 401
Глава 11. Преодоление ограничений 441
Эпилог 487
Приложение А. Формулы, использующиеся при анализе алгоритмов 491
Приложение Б. Краткое руководство по рекуррентным соотношениям 495
Список литературы 509
Указания к упражнениям 517
Предметный указатель 562