Действительно ли Руководство по проектированию Алгоритма является хорошей книгой для новичка в алгоритмах? [закрытый]

41
задан Muktadir Khan 19 August 2019 в 16:36
поделиться

9 ответов

Я бы порекомендовал книгу Skiena. Вы начали изучать алгоритмы, вам также следует начать изучать алгоритмы.

Для тех, кто редактировал этот ответ и заменил последнее вхождение слова алгоритмы словом математика : Я имел в виду алгоритмов , когда писал этот ответ, я все еще имею в виду алгоритмов , замена слова на математика существенно меняет ответ. Если вы думаете, что OP должен изучить математику, опубликуйте свой ответ на этот счет. Если бы вы затруднились прочитать комментарий ниже, вы бы поняли, почему я выбрал слово алгоритмы , а не математика .

49
ответ дан 27 November 2019 в 00:46
поделиться

Если вам нужен практичный подход с небольшой математикой, попробуйте В двух словах об алгоритмах - Я на самом деле получил удовольствие от чтения, что больше, чем я могу сказать о шедевре кнута. (Хорошо, есть несколько страниц в Knuth, которые достаточно поучительны, чтобы их можно было назвать забавными .)

0
ответ дан 27 November 2019 в 00:46
поделиться

Я просто рассчитал время для некоторых функций из любопытства. В этих тестах я удаляю не буквенно-цифровые символы из строки string.printable (часть встроенного модуля string ). Использование скомпилированных '[\ W _] +' и pattern.sub ('',

-1
ответ дан 27 November 2019 в 00:46
поделиться

«Введение в алгоритмы» Кормен, Лейзерсон и Ривест. См. http://www.amazon.com/Introduction-Algorithms-Second-Thomas-Cormen/dp/0262032937

-3
ответ дан 27 November 2019 в 00:46
поделиться

Вот пара рекомендаций:

  • Ахо и Ульман - «Алгоритмы и структура данных»
  • Вхирт
  • Дональд Э. Кнут - «Искусство компьютерного программирования»
-2
ответ дан 27 November 2019 в 00:46
поделиться

Я бы порекомендовал не использовать «Руководство по разработке алгоритмов» для ваших целей и вместо этого просматривать Кормен или Википедию.

После краткого введения в основные алгоритмические темы, страницы 171-437 don на самом деле не учат вас ни тому, как работают алгоритмы, ни тому, как их проектировать, но больше о том, какие алгоритмы существуют и где найти их реализации (иногда это отсылает вас к реализациям, которые вам нужно будет купить, как в разделе о линейном программировании)

Например, есть 3 страницы по умножению матриц, которые дают несколько примеров того, для чего это полезно, представляют наивный алгоритм O (N 3 ) и упоминают, что есть лучшие алгоритмы, такие как O ( N 2.81 ) (без описания алгоритма) и рекомендуем вам использовать для этого библиотеку LAPACK.

Поэтому, если вы хотите узнать, как работают алгоритмы, а не какие алгоритмы существуют и где найти их реализации, я снова не рекомендую "Руководство по разработке алгоритмов".

15
ответ дан 27 November 2019 в 00:46
поделиться

Я недавно купил Руководство по разработке алгоритмов и прочитал только несколько первых глав. Это отличная книга, но, на мой взгляд (из того, что я читал до сих пор):

(1) она не менее плотная, чем книга Кормена.

(2) это больше касается практических реализаций алгоритмов, чем алгоритмов обучения.

2
ответ дан 27 November 2019 в 00:46
поделиться

If you can afford it (or your employer pays for it), and you program in Java, I'd suggest: Data Structures and Algorithms in Java. It covers the same topics you find in other books, but it makes it easy to apply an understand if your used to programming in Java. For example, C++ data structure books don't usually spend a great deal of time on hashes, as structures based on hashes aren't as common in C++ programming. In Java, however, hashes are very common, and every object has a hashCode method. The book combines a good mix of theory and practice.

alt text http://ecx.images-amazon.com/images/I/51w6USIIpxL._SL160_.jpg

1
ответ дан 27 November 2019 в 00:46
поделиться

Нет, не думаю. Попробуйте Структуры данных и алгоритмы за 24 часа Роберта Лафора.

-1
ответ дан 27 November 2019 в 00:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: