57 lines
3.6 KiB
Markdown
57 lines
3.6 KiB
Markdown
---
|
||
Тип: Книга
|
||
Статус: Прочитано
|
||
Название: Алгоритмы. Руководство по разработке. 3-е изд.
|
||
Автор:
|
||
- Стивен Скиена
|
||
Количество страниц: 848
|
||
Прогресс: 848
|
||
Формат: Бумажная
|
||
Обложка: Библиотека/Книги/covers/algorithm-design-manual.jpg
|
||
Начата: "2025"
|
||
Закончена: "2025"
|
||
Оценка: "8"
|
||
Сложность: 10/10
|
||
Теги:
|
||
- it
|
||
- programming
|
||
- algorithms
|
||
- computer-science
|
||
Категории:
|
||
- алгоритмы
|
||
- программирование
|
||
Источник:
|
||
Ссылка: https://disk.yandex.ru/d/uPOryxahBdrUdg
|
||
---
|
||
|
||
![[covers/algorithm-design-manual.jpg]]
|
||
|
||
# Алгоритмы. Руководство по разработке. 3-е изд.
|
||
|
||
## 📖 О книге
|
||
Один из главных академических трудов по алгоритмам, написанный для практикующих разработчиков. Книга состоит из двух частей: первая — теория и практика проектирования алгоритмов (сортировка, графы, динамическое программирование, эвристики), вторая — каталог из 75 классических алгоритмических задач с готовыми решениями и ссылками на реализации. В 3-м издании расширены разделы по рандомизированным алгоритмам, хешированию и квантовым вычислениям.
|
||
|
||
---
|
||
|
||
## 🧠 Ключевые идеи
|
||
- **Алгоритм = правильная структура данных + правильная техника**: выбор структуры данных часто важнее выбора алгоритма — хорошая структура делает алгоритм тривиальным
|
||
- **Каталог задач как ключевой инструмент**: большинство реальных задач сводятся к известным алгоритмическим проблемам; умение распознать задачу важнее знания алгоритма наизусть
|
||
- **Динамическое программирование через рекуррентность**: DP — это управляемый перебор с мемоизацией; ключ — правильно определить подзадачу
|
||
- **Эвристики для NP-полных задач**: не все задачи требуют точного решения; жадные алгоритмы, имитация отжига, генетические алгоритмы дают приемлемый результат на практике
|
||
- **Анализ сложности как язык**: O-нотация — не формальность, а инструмент коммуникации и принятия решений при проектировании систем
|
||
|
||
---
|
||
|
||
## 💬 Важные цитаты
|
||
> «Правильный алгоритм — это тот, который решает задачу. Хороший алгоритм — тот, который делает это эффективно. Но сначала нужно убедиться, что вы решаете правильную задачу.»
|
||
|
||
---
|
||
|
||
## 💡 Как применить в моих проектах
|
||
|
||
|
||
---
|
||
|
||
## 🔗 Связанные заметки
|
||
- [[Грокаем алгоритмы]]
|