Рекурсивная книга о рекурсии
Год издания: 2023
Автор: Свейгарт Эл
Переводчик: Черников С.
Издательство: Питер
ISBN: 978-5-4461-2393-3
Серия: Библиотека программиста
Язык: Русский
Формат: PDF
Качество: Издательский макет или текст (eBook)
Интерактивное оглавление: Да
Количество страниц: 336
Описание: Книга «Рекурсивная книга о рекурсии» содержит примеры кода на языке Python и JavaScript, которые иллюстрируют основы рекурсии и проясняют фундаментальные принципы всех рекурсивных алгоритмов. Из книги вы узнаете о том, когда стоит использовать рекурсивные функции (и, главное, когда этого не нужно делать), как реализовывать классические рекурсивные алгоритмы, часто обсуждаемые на собеседованиях, а также о том, как рекурсивные методы помогают решать задачи, связанные с обходом дерева, комбинаторикой и другими сложными темами.
Краткое содержание
Об авторе...............................................................................................................14
О научном редакторе...............................................................................................15
Предисловие...........................................................................................................16
Благодарности........................................................................................................18
Введение................................................................................................................19
ЧАСТЬ I. О РЕКУРСИИ
Глава 1. Что такое рекурсия.....................................................................................26
Глава 2. Рекурсия и итерация...................................................................................45
Глава 3. Классические рекурсивные алгоритмы.........................................................71
Глава 4. Алгоритмы поиска с возвратом и обхода дерева............................................98
Глава 5. Алгоритмы типа «разделяй и властвуй».......................................................122
Глава 6. Перестановки и сочетания..........................................................................155
Глава 7. Мемоизация и динамическое программирование...........................................185
Глава 8. Оптимизация хвостовых вызовов.................................................................197
Глава 9. Рисование фракталов.................................................................................209
ЧАСТЬ II. ПРОЕКТЫ
Глава 10. Инструмент для поиска файлов.................................................................236
Глава 11. Генератор лабиринтов..............................................................................248
Глава 12. Решатель «пятнашек»..............................................................................264
Глава 13. Генератор фракталов...............................................................................293
Глава 14. Создание эффекта Дросте........................................................................319