Rambler's Top100 Service Этот текст распечатан с домашней странички Андрея Калинина (www.kalinin.ru).
Оригинал статьи находится по этому адресу: http://www.kalinin.ru/comment/books/11_08_00.shtml


Алгоритмы: построение и анализ

11.08.00

  Иллюстрация
  Обложка книги.
  Обложка книги.

Эту книгу ждали, по-моему, пару лет. При этом ее никто не рекламировал, не предлагал заказать в интернет-магазине до выхода как новое издание "Искусства программирования", и тем не менее, именно этой книги ждали с особенным нетерпением.

Во-первых, ранее она не издавалась на русском языке ("за бугром" она вышла в 1990). Поэтому, конечно же было просто интересно, что в ней содержится, учитывая очень благосклонные отзывы "за границей". Во-вторых, техническим редактором книги является А.Шень, про которого один мой знакомый сказал, что "он плохого переводить не будет". В третьих, книг по алгоритмам, а тем более по их анализу (как заявлено в названии) достаточно мало. Лично я навскидку вспоминаю вообще только пару книг, в которой рассматривался анализ алгоритмов как таковых: Ахо, Хопкрофт, Ульман "Построение и анализ вычислительных алгоритмов" и Кнут "Искусство программирования". Поэтому, когда МЦНМО объявило о подготовке к изданию этой книги, она сразу же стала известной.

Книга разделена на 7 частей:

Наличие отдельных частей "Структуры данных" и "Более сложные структуры данных", я думаю, уже должно настораживать. Книга написана... очень подробно. В том смысле, что разжевывается практически все, что в ней есть. Именно из-за этого, она не понравилась нашим специалистам в области computer science --- очень элементарная. При этом количество раcсмотренных алгоритмов в книге (а она достаточно "толстая", порядка 1000 страниц) невелико, у того же Шеня в "Теоремах и задачах" по-моему, не меньше. Правда отрицательные отзывы о книге тоже очень забавные, например, в какой-то конференции видел фразу что книга "хуже, чем Кнут". Смею вас заверить, что такая "отрицательная" оценка стоит очень много и говорит, скорее, именно о том, что книга хорошая, только она несколько не из той категории.

На всякий случай, приведу аннотацию:

<
Цитата

Книга представляет собой перевод учебника по курсу построение и анализ эффективных алгоритмов, написанного в Массачусетском техническом университете; в ней разрабатываются важнейшие классы быстрых алгоритмов и прием их построения. Изложение подробное и математически строгое. Книгу можно использовать в качестве учебника и справочника; она будет полезна как студентам, так и профессионалам в области computer science и программирования.

Единственные откровенно слабые места в книге --- это вышеприведенная аннотация и название. Потому что по-английски оно звучит как "Introduction to to Algorithms", т.е. "Введение", а уж никак не "построение и анализ". В книге изложены некоторые методы построения алгоритмов, например, метод динамического программирования, в принципе, "на пальцах" показано как надо подходить к оценке алгоритмической сложности... тем не менее, это лишь "Introduction" и ничего более ожидать не стоило.

Вообще говоря, на обложке написано: "Классические учебники", что уже должно наводить на мысли. Да, это действительно учебник для студентов, которые обучаются по курсу "Информатики" (т.е., в смысле "Computer science"), очень подробный и неплохо написанный. Я так думаю, что тот студент, который осилит чтение этой книги, несомненно будет знать почему быстрая сортировка "в худшем случае n2", так как именно такие вещи традиционно трудно доходят за время занятий.

Насколько я понимаю, книгу все еще можно купить в МЦНМО, причем стоит она там несколько дешевле, чем в остальных местах (по-моему, рублей 300). Но, на самом деле, более важно другое --- я туда поехал из-за того, что в остальных магазинах, торгующих технической литературой ее не было (например, в Библио-Глобусе).

Резюме

Не стоит ожидать от этой книги многого. В своем качестве учебника она, наверное, хороша, но в качестве справочника (как это рекомендуют издатели) ее использовать затруднительно. Тем не менее, сам я ее прочитал (или пролистал, не знаю как это правильнее назвать) с... хм, удовольствием. Много иллюстраций и пояснений, большое количество упражнений.

Ссылки по теме

http://www.mccme.ru Официальный сайт Московского Центра Непрерывного Математического Обучения (МЦНМО), издавшего эту книгу.

©2000-2001 by Andrey L. Kalinin,
andrey@kalinin.ru