Post content
Алгоритм (лат. algorithmi — от имени среднеазиатского математика Аль-Хорезми) — конечная совокупность точно заданных правил решения некоторого класса задач или набор инструкций, описывающих порядок действий исполнителя для решения определённой задачи В старой трактовке вместо слова «порядок» использовалось слово «последовательность», но по мере развития параллельности в работе компьютеров слово «последовательность» стали заменять более общим словом «порядок» Независимые инструкции могут выполняться в произвольном порядке, параллельно, если это позволяют используемые исполнители Книга является наиболее полным руководством по разработке эффективных алгоритмов Первая часть книги содержит практические рекомендации по разработке алгоритмов: приводятся основные понятия, дается анализ алгоритмов, рассматриваются типы структур данных, основные алгоритмы сортировки, операции обхода графов и алгоритмы для работы со взвешенными графами, примеры использования комбинаторного поиска, эвристических методов и динамического программирования Вторая часть книги содержит обширный список литературы и каталог из 75 наиболее распространенных алгоритмических задач, для которых перечислены существующие программные реализации В третьем издании расширен набор рандомизированных алгоритмов, алгоритмов хеширования, аппроксимации и квантовых вычислений Добавлено более 100 новых задач, даны ссылки к реализациям на C, C++ и Java. Книгу можно использовать в качестве справочника по алгоритмам для программистов, исследователей и в качестве учебного пособия для студентов соответствующих специальностей Алгоритмы. Руководство по разработке. 3-е изд. [2022] Скиена Стивен С. The Algorithm Design Manual [2020] Steven S. Skiena 2 книги по алгоритмам [RU+EN] популярных авторов [Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн] “Функции используются для наведения порядка в хаосе алгоритмов“ — Бьярне Строуструп известный программист и информатик, создатель языка программирования