Дональд Э., Искусство программирования. Том 1. Основные алгоритмы
серия: Искусство программирования
Вильямс, 2017 г., 720 стр., 978-5-8459-1984-7, 978-5-8459-0080-7, 0-201-89683-4 , 240*168*40 мм., тираж: 8000
Описание книги
Скачать, но не бесплатно эту книгу можно в интернет-магазинах
Читать онлайн
Доступен для чтения фрагмент книги
Ключевые слова
Поделиться ссылкой на книгу
Содержание книги
Основные понятия
Глава 2
Информационные структуры
Ответы к упражнениям
Приложение А. Таблицы значений некоторых
констант
Приложение Б. Основные обозначения
Предметно-именной указатель
Об авторе
Отзывы
1. Основные понятия.
2. Информационные структуры.
В первой части описано понятие алгоритма на примере алгоритма Евклида (куда ж без него... ).
Потом математическое введение. Здесь он полностью описывает весь математический аппарат, который будет использовать в дальнейшем.
Вообще-то это именно введение. Потому как если кто забыл математическую индукцию, степени и логарифмы, перестановки и факториалы, гармонические числа и числа Фибоначчи — вам сюда.
Ну, и, конечно, есть конкретно про анализ алгоритмов, О-нотацию и все с этим связанное.
Здесь же — описание виртуальной машины MIX — программы в этой серии книг представлены на ассемблере этой виртуальной машины.
Отмечу, что начиная с 4 тома используется новая машина MMIX, описанная в этой книге: http://www.ozon.ru/context/detail/id/3424738/
Далее — информационные структуры.
Кнут начинает с простейших вещей: про массивы и списки, про стеки, очереди и деки.
Про списки — подробно, разные виды.
Далее — деревья.
Классика — обход деревьев, представление бинарных деревьев, другие виды деревьев (но без балансированных — это в другом томе).
Довольно большая математическая часть о деревьях.
Но, внезапно, глава о сборке мусора — самая классика. Аж 5 алгоритмов маркировки узлов!
Далее — многосвязные структуры. Тут, между прочим, описано, как структуры ранее представлялись в COBOL и PL-1.
И получилось элементарное введение в реляционные таблицы.
Но далее — самое интересное из первого тома: динамическое распределение памяти.
Это — готовый раздел для изучения в курсе, например, по системному программированию или операционным системам.
Кнут описывает собственные исследования системы динамического распределения памяти и пишет, что основная проблема — фрагментация.
И описывает стратегии выделения памяти и свой собственный метод борьбы с фрагментацией — метод Кнута.
Также достаточно подробно описан метод близнецов.
В общем, я реально использую этот материал в лекциях.
Что еще хочется отметить (про все тома).
Огромное количество заданий-упражнений.
Каждой задание помечено числом, обозначающим трудность (Кнут об этом пишет в предисловии-введении).
И самое важное — есть ответы на все задания.
В первом томе ответы занимают 150 страниц (521-683).
Еще отмечу.
Алгоритмы сначала описываются на простом человеческом языке в виде последовательности шагов.
Очень часто приводится рисунок-схема алгоритма.
И только потом дается программа (не всегда, некоторые алгоритмы предлагается запрограммировать в виде упражнений)
Книга рассчитана на научную подготовку.
На прочтение всех трех книг (с решением упражнений) ушло около 2-х лет и вот уже 5 лет мое мнение не меняется - эта одна из лучших книг, которая учит мыслить и решать нестандартные задачи.
Первый том могу рекомендовать к прочтению всем, кто так или иначе связан с разработкой алгоритмов, особенно студентам. Второй и третий затрагивают слишком специальные темы и обращаться к ним нужно скорее как к справочнику или при интересе к подробному анализу алгоритмов. Для понимания тома 2 потребуется хорошая математическая подготовка.
Тем, кто привык писать код не задумываясь над тем, что же он на самом деле делает книга не будет интересна. Однако, чем больше нестандартных задач приходится решать разработчику тем выше будет полезность данной книги.
Там все книги на английском переиздаются. И за приемлемую цену.
Такую книгу перевести нельзя!
И мне придется читать наш перевод, так как $35 я могу себе позволить для ТАКОЙ книги. Но не $120.
Новая цена: 1012.5 руб.
(за 3 книги)
_Вы_ _экономите_: 466.5 руб. (32%)
Последние поступления в рубрике "Основы программирования и алгоритмы"
Программирование на visual c# 2013. Учебное пособие для прикладного бакалавриата Казанский А.
Эта книга предназначена для изучения программирования на одном из самых современных и мощных языков — Visual C# 2013. Язык C# создан для программирования в Windows и вместе со средой разработки IDE Microsoft Visual Studio 2013 позволяет разрабатывать эффективные приложения, имеющие удобный графический интерфейс для решения прикладных задач.... | |
Программирование на языке высокого уровня С/С++. Конспект лекций Зоткин С.
Приведены основные элементы языков программирования C/C++: типы данных, операторы и операции, структура программы, работа с файлами, основы численных методов решения инженерных задач, организация данных в виде стека, очереди, списка и дерева.Для студентов первого курса бакалавриата направления подготовки 09.03.... | |
Примеры и задачи по программированию на Паскале и Питоне. Фонд оценочных средств для промежуточных аттестаций. Часть 1. Учебное пособие Пылькин А.Н., Москвина О.П.
В сборнике рассмотрены примеры разработки алгоритмов и программ по различным разделам программирования. Приведены практические примеры программ на языках Паскаль и Питон. По каждой теме даны наборы заданий различной степени сложности.... |
Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Дональд Э., Искусство программирования. Том 1. Основные алгоритмы в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.