Алгоритмы: построение и анализ, 3-е издание
Ряд книг, посвященных алгоритмам, отличается строгостью изложения материала, но страдает определенной неполнотой; другие книги охватывают огромный объем материала, но недостаточно строго излагают его. Эта книга удачно объединяет в себе полноту охвата и строгость изложения материала. В ней описаны самые разнообразные алгоритмы, сочетается широкий диапазон тем с глубиной и полнотой изложения; при этом изложение доступно для читателей самого разного уровня подготовки. Каждая глава книги относительно самодостаточна и может использоваться в качестве отдельной темы для изучения. Алгоритмы описаны простым языком и с применением псевдокода, который понятен любому, кто хоть в небольшой степени знаком с программированием, а пояснения принципов их работы даны без излишней математической строгости и требуют лишь элементарных знаний.
Первое издание книги Алгоритмы: построение и анализ давно стало стандартным справочным руководством для профессионалов и учебным пособием для университетов. Второе издание было дополнено новыми главами, раскрывающими такие темы, как вероятностный анализ и рандомизированные алгоритмы, линейное программирование. Третье издание также существенно дополнено и пересмотрено. В него вошли две совершенно новые главы, посвященные деревьям ван Эмде Боаса и многопоточным алгоритмам, а глава, посвященная рекуррентности, существенно расширена.
Изменена подача такого материала, как динамическое программирование и жадные алгоритмы, и введено новое понятие потока, основанного на ребрах, в материале о транспортных сетях. В третье издание книги Алгоритмы: построение и анализ также было добавлено множество новых упражнений и задач.
Фундаментальный труд Алгоритмы: построение и анализ известных специалистов в области информатики достоин занять место на полке любого человека, чья деятельность так или иначе связана с вычислительной техникой и алгоритмами:
- для профессионала эта книга может служить настольным справочником,
- для преподавателя - пособием для подготовки к лекциям и источником интересных нетривиальных задач,
- для студентов и аспирантов - отличным учебником.
Каждый может найти в ней именно тот материал, который касается интересующей его темы и представлен именно с тем уровнем сложности и строгости, который требуется читателю.
Описание алгоритмов на естественном языке дополняется псевдокодом, который позволяет любому имеющему хотя бы начальные знания и опыт программирования, реализовать алгоритм на используемом им языке программирования. Строгий математический анализ и обилие теорем сопровождаются большим количеством иллюстраций, элементарными рассуждениями и простыми приближенными оценками. Широта охвата материала и степень строгости его изложения дают основания считать эту книгу одной из лучших книг, посвященных разработке и анализу алгоритмов.
Третье издание этого классического труда в большой степени доработано. В нем появились новые главы, в том числе посвященные такой важной в последнее время теме, как многопоточные алгоритмы, а старые подверглись переработке, местами весьма существенной, когда уже имевшийся во втором издании материал излагается с иных позиций, чем ранее.
Данная книга будет не лишней как на столе студента и аспиранта, так и на рабочей полке практикующего программиста.
Об авторах:
Томас Кормен - профессор информатики в колледже Дартмута и бывший директор Института литературы и риторики Дартмутского колледжа.
Чарльз Лейзерсон - профессор информатики и электротехники в Массачуссетском технологическом институте, где также работает и профессор Рональд Ривест.
Клиффорд Штайн - профессор организации производства и исследования операций в Колумбийском университете.
Отзывы о книге:
"В свете взрывного роста количества данных и распространения вычислительных приложений эффективные алгоритмы востребованы в еще большей степени, чем ранее. Эта прекрасно написанная, тщательно продуманная и организованная книга является отличным введением в разработку и анализ алгоритмов. Первая ее половина представляет собой эффективный учебник теории алгоритмов, а вторая в большей степени предназначена для научных работников и любознательных студентов, которые хотели бы получить дополнительные знания об этой интересной науке."
Шан-Хуа Тенг, Университет Южной Каролины
"Это настоящая библия в указанной области, исчерпывающий учебник, охватывающий весь спектр современных алгоритмов: от быстрых алгоритмов и структур данных до алгоритмов с полиномиальным временем работы для решения очень сложных задач, от классических алгоритмов теории графов до специализированных алгоритмов поиска подстрок, вычислительной геометрии и теории чисел. Нельзя не упомянуть появившиеся в третьем издании деревья ван Эмде Боаса и многопоточные алгоритмы, важность которых постоянно увеличивается."
Дэниел Шпильман, факультет информатики Йельского университета
"Как преподаватель и исследователь в области алгоритмов с более чем двадцатилетним стажем, могу с уверенностью утверждать, что книга Кормена - лучший из встречавшихся мне учебников. Это умный, энциклопедичный и современный подход к изучению алгоритмов; наш факультет продолжит использовать эту книгу как в качестве учебника для студентов и аспирантов, так и в качестве рекомендуемого справочного пособия."
Габриэль Робинс, факультет информатики Университета Вирджинии