WikiDer > Искусство программирования
Искусство программирования, Том 1: Основные алгоритмы | |
Автор | Дональд Кнут |
---|---|
Страна | Соединенные Штаты |
Язык | английский |
Жанр | Нехудожественная литература Монография |
Издатель | Эддисон-Уэсли |
Дата публикации | 1968– (книга еще не закончена) |
Тип СМИ | Распечатать (Твердая обложка) |
ISBN | 0-201-03801-3 |
519 | |
Класс LC | QA76.75 |
Искусство программирования (TAOCP) является всеобъемлющим монография написано специалист в области информатики Дональд Кнут который охватывает многие виды программирование алгоритмы и их анализ.
Кнут начал этот проект, первоначально задуманный как отдельная книга с двенадцатью главами, в 1962 году. Первые три тома того, что тогда ожидалось, будет семитомником, были опубликованы в 1968, 1969 и 1973 годах. Началась серьезная работа над томом. 4 в 1973 г., но в 1977 г. приостановлено за наборные работы. Написание последней копии тома 4A началось от руки в 2001 году, а первая онлайн-пре-брошюра, 2A, появилась позже в 2001 году.[1] Первая опубликованная часть четвертого тома вышла в мягкой обложке как Пучок 2 в 2005 году. Том 4A в твердом переплете, объединяющий том 4, Fascicles 0–4, был опубликован в 2011 году. Volume 4, Fascicle 6 («Satisfiability») был выпущен в декабре 2015 года; Том 4, выпуск 5 («Математические предварительные сведения; возврат; танцующие ссылки») был выпущен в ноябре 2019 года.
Ожидается, что пучки 5 и 6 составят первые две трети тома 4B. Кнут не объявил какую-либо предполагаемую дату выпуска тома 4B, хотя его метод, использованный для тома 4A, заключается в том, чтобы выпустить том в твердом переплете через некоторое время после выпуска содержащихся в нем брошюр в мягкой обложке. По краткосрочным оценкам издателей, дата релиза - май или июнь 2019 года, что оказалось неверным.[2][3]
История
Выиграв стипендию Westinghouse Talent Search, Кнут поступил в Технологический институт Кейса (сейчас Кейс Вестерн Резервный университет), где его работа была настолько выдающейся, что факультет проголосовал за присвоение ему степени магистра наук после получения степени бакалавра. Во время летних каникул Кнута нанял Корпорация Берроуз написать компиляторы, зарабатывая в летние месяцы больше, чем профессора за весь год.[4] Такие подвиги сделали Кнута темой обсуждения на математическом факультете, в том числе Ричард С. Варга.
В январе 1962 года, когда он был аспирантом математического факультета Калифорнийского технологического института, Кнут обратился к Эддисон-Уэсли написать книгу о дизайне компиляторов, и он предложил больший объем. В тот же день он составил список из 12 названий глав. Летом 1962 года он работал над компилятором FORTRAN для UNIVAC. За это время он также придумал математический анализ линейное зондирование, что убедило его представить материал с количественным подходом. Получив докторскую степень в июне 1963 года, он начал работу над своей рукописью, первый черновой вариант которой он закончил в июне 1965 года. 3000 рукописные страницы.[5] Он предполагал, что около пяти рукописных страниц можно будет перевести в одну печатную страницу, но его издатель вместо этого сказал, что1 1⁄2 рукописные страницы переведены на одну печатную страницу. Это означало, что у него было примерно 2000 печатных страниц материала, который точно соответствует размеру первых трех опубликованных томов. Издатель нервничал, принимая такой проект от аспиранта. В этот момент Кнут получил поддержку от Ричарда С. Варги, который был научным советником издателя. Варга был в гостях Ольга Таусская-Тодд и Джон Тодд в Калтех. С восторженной поддержки Варги издатель принял расширенные планы Кнута. В расширенной версии книга будет опубликована в семи томах, в каждом из которых будет всего одна или две главы.[6] В связи с увеличением количества материала план для тома 4 с тех пор расширился и теперь включает тома 4A, 4B, 4C, 4D и, возможно, другие.
В 1976 году Кнут подготовил второе издание тома 2, требуя, чтобы он был наборный опять же, но стиль шрифта, использованный в первом издании (называемый горячий тип) больше не было в наличии. В 1977 году он решил потратить некоторое время на создание чего-то более подходящего. Восемь лет спустя он вернулся с ТEИкс, который в настоящее время используется для всех томов.
Предложение так называемого Проверка награды Кнута стоит "один шестнадцатеричный доллар" (100HEX база 16 центов, в десятичный, составляет $ 2,56) за любые обнаруженные ошибки, и исправление этих ошибок в последующих изданиях способствовало высокому качеству работы и сохранению авторитетности работы спустя долгое время после ее первой публикации. Еще одна характеристика объемов - различная сложность упражнений. Кнут даже имеет числовую шкалу сложности для оценки этих упражнений, варьирующуюся от 0 до 50, где 0 - тривиально, а 50 - открытый вопрос в современных исследованиях. [7]
Посвящение Кнута гласит:
Эта серия книг посвящена с любовью
к Компьютер типа 650 после установки в
Кейс технологический институт,
с которым я провел много приятных вечеров.[а]
Ассемблер в книге
Во всех примерах в книгах используется язык "СМЕШИВАНИЕ язык ассемблера ", который работает на гипотетическом компьютере MIX. В настоящее время компьютер MIX заменяется на MMIX компьютер, который является RISC версия. Программное обеспечение, такое как GNU MDK существует для эмуляции архитектуры MIX. Кнут считает, что использование язык ассемблера необходимо для оценки скорости и использования памяти алгоритмами.
Критический ответ
Кнут был награжден орденом 1974 г. Премия Тьюринга "за большой вклад в анализ алгоритмов […], И, в частности, за его вклад в «искусство компьютерного программирования» через его известные книги в непрерывной серии под этим названием ».[8] Американский ученый включил эту работу в список "100 или около того книг, которые сформировали век науки", относящиеся к двадцатому веку,[9] и в сообществе компьютерных наук он считается первым и до сих пор лучшим всеобъемлющим исследованием своего предмета. Обложки третьего издания цитаты тома 1 Билл Гейтс как говорят: «Если вы думаете, что вы действительно хороший программист… прочтите (Knuth's) Искусство программирования… Вам обязательно следует прислать мне резюме, если вы можете прочитать все ".[10] Нью-Йорк Таймс назвал его «трактатом, определяющим профессию».[11]
Объемы
Завершенный
- Том 1 - Основные алгоритмы
- Глава 1 - Основные понятия
- Глава 2 - Информация структуры
- Том 2 - Получисленные алгоритмы
- Глава 3 - Случайные числа
- Глава 4 - Арифметика
- Том 3 - Сортировка и Поиск
- Глава 5 - Сортировка
- Глава 6 - Поиск
- Том 4А - Комбинаторный Алгоритмы
- Глава 7 - Комбинаторный поиск (часть 1)
Планируется
- Том 4B ... - Комбинаторные алгоритмы (главы 7 и 8 выпущены в нескольких подтомах)
- Глава 7 - Комбинаторный поиск (продолжение)
- Глава 8 - Рекурсия
- Том 5 - Синтаксические алгоритмы (по состоянию на 2017 г.[Обновить], ориентировочно к выпуску в 2025 г.)
- Глава 9 - Лексическое сканирование (также включает поиск строки и Сжатие данных)
- Глава 10 - Парсинг техники
- Том 6 - Теория Контекстно-свободные языки
- Том 7 - Компилятор Методы
Краткое содержание главы
Завершенный
Том 1 - Основные алгоритмы
- Глава 1 - Основные понятия
- 1.1. Алгоритмы
- 1.2. Математические предварительные сведения
- 1.2.1. Математическая индукция
- 1.2.2. Числа, степени и логарифмы
- 1.2.3. Суммы и продукты
- 1.2.4. Целочисленные функции и элементарная теория чисел
- 1.2.5. Перестановки и Факториалы
- 1.2.6. Биномиальные коэффициенты
- 1.2.7. Гармонические числа
- 1.2.8. Числа Фибоначчи
- 1.2.9. Генерация функций
- 1.2.10. Анализ алгоритма
- 1.2.11. Асимптотические представления
- 1.2.11.1. В O-обозначение
- 1.2.11.2. Формула суммирования Эйлера
- 1.2.11.3. Некоторые асимптотические вычисления
- 1.3 MMIX (СМЕШИВАНИЕ в твердом переплете, но обновлено в главе 1)
- 1.3.1. Описание MMIX
- 1.3.2. Язык ассемблера MMIX
- 1.3.3. Приложения к перестановкам
- 1.4. Некоторые фундаментальные методы программирования
- 1.4.1. Подпрограммы
- 1.4.2. Сопрограммы
- 1.4.3. Процедуры интерпретации
- 1.4.3.1. Симулятор MIX
- 1.4.3.2. Процедуры трассировки
- 1.4.4. Вход и выход
- 1.4.5. История и библиография
- Глава 2 - Информационные структуры
- 2.1. Вступление
- 2.2. Линейные списки
- 2.2.1. Стеки, очереди и дек
- 2.2.2. Последовательное размещение
- 2.2.3. Связанное размещение
- 2.2.4. Циркулярные списки
- 2.2.5. Двусвязные списки
- 2.2.6. Массивы и ортогональные списки
- 2.3. Деревья
- 2.3.1. Обход двоичных деревьев
- 2.3.2. Представление деревьев в двоичном виде
- 2.3.3. Другие изображения деревьев
- 2.3.4. Основные математические свойства деревьев
- 2.3.4.1. Бесплатные деревья
- 2.3.4.2. Ориентированные деревья
- 2.3.4.3. "Лемма о бесконечности"
- 2.3.4.4. Перечень деревьев
- 2.3.4.5. Длина пути
- 2.3.4.6. История и библиография
- 2.3.5. Списки и сборка мусора
- 2.4. Многосвязные структуры
- 2.5. Динамическое распределение памяти
- 2.6. История и библиография
Том 2 - Получисленные алгоритмы
- Глава 3 - Случайные числа
- 3.1. Вступление
- 3.2. Генерация однородных случайных чисел
- 3.2.1. Линейный конгруэнтный метод
- 3.2.1.1. Выбор модуля
- 3.2.1.2. Выбор множителя
- 3.2.1.3. Потенция
- 3.2.2. Другие методы
- 3.2.1. Линейный конгруэнтный метод
- 3.3. Статистические тесты
- 3.3.1. Общие процедуры тестирования для изучения случайных данных
- 3.3.2. Эмпирические тесты
- 3.3.3. Теоретические тесты
- 3.3.4. Спектральный тест
- 3.4. Другие типы случайных величин
- 3.4.1. Числовые распределения
- 3.4.2. Случайная выборка и перемешивание
- 3.5. Что такое Случайная последовательность?
- 3.6. Резюме
- Глава 4 - Арифметика
- 4.1. Системы позиционных чисел
- 4.2. Плавающая точка Арифметика
- 4.2.1. Расчеты с одинарной точностью
- 4.2.2. Точность арифметики с плавающей запятой
- 4.2.3. Расчеты с двойной точностью
- 4.2.4. Распределение чисел с плавающей запятой
- 4.3. Арифметика с множественной точностью
- 4.3.1. Классические алгоритмы
- 4.3.2. Модульная арифметика
- 4.3.3. Как быстро мы можем размножаться?
- 4.4. Radix Преобразование
- 4.5. Рациональный Арифметика
- 4.5.1. Фракции
- 4.5.2. Наибольший общий делитель
- 4.5.3. Анализ Алгоритм Евклида
- 4.5.4. Факторинг в простые числа
- 4.6. Полиномиальный Арифметика
- 4.6.1. Деление многочленов
- 4.6.2. Факторизация многочленов
- 4.6.3. Оценка полномочий
- 4.6.4. Оценка многочленов
- 4.7. Манипулирование Силовая серия
Том 3 - Сортировка и поиск
- Глава 5 - Сортировка
- 5.1. Комбинаторные свойства Перестановки
- 5.1.1. Инверсии
- 5.1.2. Перестановки мультимножества
- 5.1.3. Работает
- 5.1.4. Таблицы и инволюции
- 5.2. Внутренняя сортировка
- 5.2.1. Сортировка по вставке
- 5.2.2. Сортировка по обмену
- 5.2.3. Сортировка по выбору
- 5.2.4. Сортировка по объединению
- 5.2.5. Сортировка по распределению
- 5.3. Оптимальная сортировка
- 5.3.1. Сортировка по минимальному сравнению
- 5.3.2. Слияние минимального сравнения
- 5.3.3. Выбор минимального сравнения
- 5.3.4. Сети для сортировки
- 5.4. Внешняя сортировка
- 5.4.1. Многостороннее объединение и выбор замены
- 5.4.2. Полифазное слияние
- 5.4.3. Каскадное слияние
- 5.4.4. Чтение ленты назад
- 5.4.5. Колеблющаяся сортировка
- 5.4.6. Практические рекомендации по объединению лент
- 5.4.7. Внешняя радикальная сортировка
- 5.4.8. Двухленточная сортировка
- 5.4.9. Диски и барабаны
- 5.5. Резюме, история и библиография
- 5.1. Комбинаторные свойства Перестановки
- Глава 6 - Поиск
- 6.1. Последовательный поиск
- 6.2. Поиск по сравнению Ключи
- 6.2.1. Поиск в упорядоченной таблице
- 6.2.2. Поиск двоичного дерева
- 6.2.3. Сбалансированные деревья
- 6.2.4. Многонаправленные деревья
- 6.3. Цифровой поиск
- 6.4. Хеширование
- 6.5. Получение дополнительных ключей
Том 4A - Комбинаторные алгоритмы, часть 1
- Глава 7 - Комбинаторный поиск
- 7.1. Нули и единицы
- 7.1.1. Булево Основы
- 7.1.2. Логическая оценка
- 7.1.3. Побитовое Уловки и методы
- 7.1.4. Диаграммы двоичных решений
- 7.2. Создание всех возможностей
- 7.2.1. Генерация базовых комбинаторных паттернов
- 7.2.1.1. Генерация всех n-кортежи
- 7.2.1.2. Создание всего перестановки
- 7.2.1.3. Создание всего комбинации
- 7.2.1.4. Создание всего перегородки
- 7.2.1.5. Создание всего установить перегородки
- 7.2.1.6. Создание всего деревья
- 7.2.1.7. История и другие ссылки
- 7.2.1. Генерация базовых комбинаторных паттернов
- 7.1. Нули и единицы
Планируется
Том 4B, 4C, 4D - Комбинаторные алгоритмы
- Глава 7 - Комбинаторный поиск (продолжение)
- 7.2. Создание всех возможностей (продолжение)
- 7.2.2. Программирование с возвратом (опубликовано в Fascicle 5)
- 7.2.2.1. Танцы ссылки (опубликовано в Fascicle 5)
- 7.2.2.2. Удовлетворенность (опубликовано в Fascicle 6)
- 7.2.2.3. Удовлетворение ограничений
- 7.2.2.4. Гамильтоновы пути (онлайн-проект в предварительной главе 8A)
- 7.2.2.5. Клики
- 7.2.2.6. Охватывает (Крышка Vertex, Установить проблему с крышкой, Точное покрытие, Обложка клики)
- 7.2.2.7. Квадраты
- 7.2.2.8. Попурри из головоломок (онлайн-проект в пре-главе 9B)
- 7.2.2.9. Оценка затрат на возврат (глава 6 «Избранных статей по анализу алгоритмов» и предварительная глава 5b в разделе 7.2.2 под заголовком «Оценка времени выполнения»)
- 7.2.3. Создание неэквивалентных моделей (включая обсуждение Перечислимая теорема Полиа)
- 7.2.2. Программирование с возвратом (опубликовано в Fascicle 5)
- 7.3. Кратчайшие пути
- 7.4. Алгоритмы графа
- 7.4.1. Компоненты и обход
- 7.4.2. Специальные классы графов
- 7.4.3. Графики расширителей
- 7.4.4. Случайные графики
- 7.5. Сетевые алгоритмы
- 7.5.1. Яркие представители
- 7.5.2. Проблема назначения
- 7.5.3. Сетевые потоки
- 7.5.4. Оптимальные поддеревья
- 7.5.5. Оптимальное соответствие
- 7.5.6. Оптимальные заказы
- 7.6. Теория независимости
- 7.6.1. Структуры независимости
- 7.6.2. Эффективный матроид алгоритмы
- 7.7. Дискретный динамическое программирование (смотрите также Трансферно-матричный метод)
- 7.8. Разветвленный техники
- 7.9. Геркулесовы задачи (также известные как NP-жесткий проблемы)
- 7.10. Почти оптимизация
- 7.2. Создание всех возможностей (продолжение)
- Глава 8 - Рекурсия (глава 22 «Избранных статей по анализу алгоритмов»)
Том 5 - Синтаксические алгоритмы
по состоянию на 2017 год[Обновить], ориентировочно к выпуску в 2025 г.
- Глава 9 - Лексическое сканирование (включает также поиск по строке и сжатие данных)
- Глава 10 - Парсинг техники
Том 6 - Теория контекстно-свободных языков[12]
Том 7 - Методы компиляции
Английские издания
Текущие редакции
Текущие издания в порядке номеров томов:
- Искусство программирования, Коробочный набор томов 1-4A. Третье издание (Ридинг, Массачусетс: Аддисон-Уэсли, 2011 г.), 3168 стр. ISBN 978-0-321-75104-1, 0-321-75104-3
- Том 1: Основные алгоритмы. Третье издание (Ридинг, Массачусетс: Аддисон-Уэсли, 1997), xx + 650 стр. ISBN 978-0-201-89683-1, 0-201-89683-4. Опечатки: [1] (2011-01-08), [2] (2020-03-26, 27-е печать). Дополнения: [3] (2011).
- Том 2: получисловые алгоритмы. Третье издание (Ридинг, Массачусетс: Аддисон-Уэсли, 1997), xiv + 762pp. ISBN 978-0-201-89684-8, 0-201-89684-2. Опечатки: [4] (2011-01-08), [5] (26.03.2020, 26-е издание). Дополнения: [6] (2011).
- Том 3: Сортировка и поиск. Второе издание (Ридинг, Массачусетс: Аддисон-Уэсли, 1998 г.), xiv + 780 стр. + Расклад. ISBN 978-0-201-89685-5, 0-201-89685-0. Опечатки: [7] (2011-01-08), [8] (26.03.2020, 27-е издание). Дополнения: [9] (2011).
- Том 4A: Комбинаторные алгоритмы, часть 1. Первое издание (Ридинг, Массачусетс: Аддисон-Уэсли, 2011 г.), xv + 883pp. ISBN 978-0-201-03804-0, 0-201-03804-8. Опечатки: [10] (2020-03-26,? Печать).
- Том 1, выпуск 1: MMIX - RISC-компьютер нового тысячелетия. (Аддисон-Уэсли, 2005-02-14) ISBN 0-201-85392-2. Опечатки: [11] (2020-03-16) (будет в четвертом издании тома 1)
- Том 4, Часть 5: Предварительные математические упражнения Redux; Возврат; Танцы Links. (Аддисон-Уэсли, 22.11.2019) xiii + 382pp, ISBN 978-0-13-467179-6. Опечатки: [12] (2020-03-27) (станет частью тома 4B)
- Том 4, Часть 6: Удовлетворенность. (Аддисон-Уэсли, 08.12.2015) xiii + 310pp, ISBN 978-0-13-439760-3. Опечатки: [13] (2020-03-26) (станет частью тома 4B)
Предыдущие издания
Полные тома
Эти тома были заменены более новыми изданиями, и они упорядочены по дате.
- Том 1: Основные алгоритмы. Первое издание, 1968 г., xxi + 634pp, ISBN 0-201-03801-3.[13]
- Том 2: получисловые алгоритмы. Первое издание, 1969, xi + 624pp, ISBN 0-201-03802-1.[13]
- Том 3: Сортировка и поиск. Первое издание, 1973 г., xi + 723pp + раскладушка, ISBN 0-201-03803-X. Опечатки: [14].
- Том 1: Основные алгоритмы. Издание второе, 1973, xxi + 634pp, ISBN 0-201-03809-9. Опечатки: [15].
- Том 2: получисловые алгоритмы. Издание второе, 1981 г., xiii + 688pp, ISBN 0-201-03822-6. Опечатки: [16].
- Искусство программирования, бокс-набор томов 1-3. Второе издание (Reading, Massachusetts: Addison-Wesley, 1998), стр. ISBN 978-0-201-48541-7, 0-201-48541-9
Пучки
Том 4с пучки 0–4 были пересмотрены и опубликованы как Том 4A:
- Том 4, Часть 0: Введение в комбинаторные алгоритмы и булевы функции. (Addison-Wesley Professional, 2008-04-28) vi + 240pp, ISBN 0-321-53496-4. Опечатки: [17] (2011-01-01).
- Том 4, Часть 1: Побитовые уловки и методы; Диаграммы двоичных решений. (Addison-Wesley Professional, 27 марта 2009 г.) viii + 260pp, ISBN 0-321-58050-8. Опечатки: [18] (2011-01-01).
- Том 4, Часть 2: Генерация всех кортежей и перестановок. (Аддисон-Уэсли, 2005-02-14) v + 127pp, ISBN 0-201-85393-0. Опечатки: [19] (2011-01-01).
- Том 4, Часть 3: Создание всех комбинаций и разделов. (Аддисон-Уэсли, 2005-07-26) vi + 150pp, ISBN 0-201-85394-9. Опечатки: [20] (2011-01-01).
- Том 4, Часть 4: Создание всех деревьев; История комбинаторной генерации. (Аддисон-Уэсли, 06.02.2006) vi + 120pp, ISBN 0-321-33570-8. Опечатки: [21] (2011-01-01).
Том 4с главы 5–6 станут частью тома 4B:
- Том 4, Выпуск 5: Предварительные математические упражнения Redux; Возврат; Танцы Links. (Аддисон-Уэсли, 22.11.2019) xiii + 382pp, ISBN 978-0-13-467179-6. Опечатки: [22] (2020-03-27)
- Том 4, Часть 6: Удовлетворенность. (Аддисон-Уэсли, 08.12.2015) xiii + 310pp, ISBN 978-0-13-439760-3. Опечатки: [23] (2020-03-26)
Предварительные пучки
Том 4с пре-пучки 5A, 5B и 5C были пересмотрены и опубликованы как глава 5.
Том 4с Пре-глава 6А был пересмотрен и опубликован как глава 6.
Смотрите также
Рекомендации
Примечания
- ^ В первом издании посвящение было сформулировано несколько иначе.
Цитаты
- ^ Примечание к коробке 3, папке 1
- ^ Веб-страница Эддисона-Уэсли Пирсона
- ^ Pearson Educational
- ^ Франа, Филип Л. (2001-11-08). "Интервью с Дональдом Э. Кнутом". HDL:11299/107413.
- ^ Дональд Кнут, Классическое цитирование на этой неделе, Текущее содержание, номер 34 (23 августа 1993 г.), стр. 8.
- ^ Альберс, Дональд Дж. (2008). «Дональд Кнут». В Albers, Donald J .; Александерсон, Джеральд Л. (ред.). Математические люди: профили и интервью (2-е изд.). А. К. Питерс. ISBN 1-56881-340-6.
- ^ «Размышления о году чтения Кнута». infinitepartitions.com. Получено 2020-07-25.
Я проработал или, по крайней мере, попытался разобраться с каждой проблемой первого тома. В некоторых случаях я просто понимал, о чем пытался спросить вопрос. В некоторых случаях мне даже этого не удавалось (не судите меня, пока не попробуете сами). Каждой задаче присваивается рейтинг сложности от 0 до 50, где 0 - тривиальная задача, а 50 - «нерешенная исследовательская проблема» (в первом издании последняя теорема Ферма была указана как 50, но, поскольку это доказал Эндрю Уайлс, она снизилась до 45 в действующей редакции). Думаю, мне удалось решить большинство задач с рейтингом <20, но даже больше не было. Большинство задач приходилось на диапазон сложности 20-30, но представление Кнута о «сложном» субъективно, и проблемы, которые он считал средними по сложности, в конечном итоге болезненно растянули мой сравнительно крошечный мозг. Я никогда не поднимался на Эверест, но я полагаю, что все это испытание ощущается одинаково: болезненно, когда вы проходите через него, но триумфально, когда вы достигаете вершины.
- ^ «Дональд Э. Кнут - обладатель премии А. М. Тьюринга». AM Тьюринг. Получено 2017-01-25.
- ^ Моррисон, Филип; Моррисон, Филис (ноябрь – декабрь 1999 г.). «100 или около того книг, сформировавших век науки». Американский ученый. Сигма Си, Общество научных исследований. 87 (6). Архивировано из оригинал на 2008-08-20. Получено 2008-01-11.
- ^ Вайнбергер, Мэтт. «Билл Гейтс однажды сказал:« Обязательно пришлите мне резюме », если вы дочитаете эту чертовски сложную книгу». Business Insider. Получено 2016-06-13.
- ^ Лор, Стив (2001-12-17). "Фрэнсис Э. Холбертон, 84 года, первый программист". Нью-Йорк Таймс. Получено 2010-05-17.
- ^ «TAOCP - Планы на будущее».
- ^ а б Уэллс, Марк Б. (1973). "Рассмотрение: Искусство программирования, Том 1. Основные алгоритмы. и Том 2. Получисленные алгоритмы. Дональд Э. Кнут " (PDF). Бюллетень Американского математического общества. 79 (3): 501–509. Дои:10.1090 / с0002-9904-1973-13173-8.
Источники
- Слейтер, Роберт (1987). Портреты в кремнии. MIT Press. ISBN 0-262-19262-4.
- Шаша, Деннис; Лазер, Кэти (1995). Не в их уме: жизни и открытия 15 великих ученых-компьютерщиков. Коперник. ISBN 0-387-97992-1.
внешняя ссылка
- Обзор тем (Личная домашняя страница Кнута)
- Устное историческое интервью с Дональдом Э. Кнутом в Институт Чарльза Бэббиджа, Университет Миннесоты, Миннеаполис. Кнут обсуждает патентование программного обеспечения, структурное программирование, сотрудничество и его развитие TeX. В устной истории обсуждается написание Искусство программирования.
- «Памяти Роберта Флойда», Дональд Э. Кнут - (по влиянию Боб Флойд)
- TAoCP и его влияние на информатику (Softpanorama)