63 lines
3.3 KiB
Markdown
63 lines
3.3 KiB
Markdown
---
|
||
Тип: Книга
|
||
Статус: Запланировано
|
||
Название: Искусство программирования
|
||
Автор:
|
||
- Дональд Эрвин Кнут
|
||
Количество страниц: 3344
|
||
Прогресс: 0
|
||
Формат: Электронная
|
||
Обложка: Библиотека/Книги/covers/iskusstvo-programmirovaniya.jpg
|
||
Начата:
|
||
Закончена:
|
||
Оценка:
|
||
Сложность:
|
||
Теги:
|
||
- алгоритмы
|
||
- структуры_данных
|
||
- математика
|
||
- computer_science
|
||
- классика
|
||
Категории:
|
||
- Алгоритмы и структуры данных
|
||
- Computer Science
|
||
Источник:
|
||
Ссылка:
|
||
---
|
||
|
||
# Искусство программирования
|
||
|
||
![[covers/iskusstvo-programmirovaniya.jpg]]
|
||
|
||
## 📖 О книге
|
||
|
||
Фундаментальная многотомная монография Дональда Кнута — энциклопедия алгоритмов и методов программирования, признанная одной из двенадцати лучших физико-математических монографий XX века. Серия охватывает 4 тома (3344 стр.):
|
||
|
||
- **Том 1** — Основные алгоритмы (720 стр.): базовые понятия, структуры данных, информационные структуры
|
||
- **Том 2** — Получисленные алгоритмы (832 стр.): случайные числа, арифметика, теория чисел
|
||
- **Том 3** — Сортировка и поиск (832 стр.): классические алгоритмы сортировки и поиска
|
||
- **Том 4А** — Комбинаторные алгоритмы, ч. 1 (960 стр.): булева логика, перестановки, комбинаторика
|
||
|
||
Алгоритмы записаны на языке гипотетического компьютера MIX/MMIX, что позволяет изучать их суть без привязки к конкретному языку программирования.
|
||
|
||
## 🧠 Ключевые идеи
|
||
|
||
- Анализ алгоритмов: нотация O-большое, математический аппарат оценки сложности
|
||
- Структуры данных: связные списки, деревья, хэш-таблицы — строгий теоретический фундамент
|
||
- Сортировка и поиск: исчерпывающий разбор всех классических алгоритмов с доказательствами
|
||
- Получисленные алгоритмы: генерация случайных чисел, арифметика произвольной точности
|
||
- Комбинаторика: перестановки, разбиения, булева логика как основа Computer Science
|
||
|
||
## 💬 Важные цитаты
|
||
|
||
|
||
## 💡 Как применить в моих проектах
|
||
|
||
|
||
## 🔗 Связанные заметки
|
||
|
||
[[Алгоритмы. Руководство по разработке]]
|
||
[[Грокаем алгоритмы]]
|
||
[[Грокаем структуры данных]]
|
||
[[Структуры данных и алгоритмы в Java]]
|