К основному содержимому
#ComputerScience

"Совершенный алгоритм. Основы" за авторством Тима Рафгардена - крутая книга, если не обращать внимание на перевод.

#ComputerScience #Software

Автор очень просто рассказывает про алгоритмы. Но забавно, что мне в процессе чтения из-за ошибок редакции Питер пришлось заглянуть в старую классическую книжку Кормена, Лейзерсона и Ривеста "Алгоритмы: построение и анализ", которая без сильно сложнее для восприятия. Просто Тим Рафгарден скрывает детали, которые важны, но не относятся к сути самих алгоритмов и без которых можно уловить основную логику.

У Тима 4 книги в рамках этой серии, но книга "Основы" стартовая и она содержит следующие главы

  1. Введение - задоно про то, зачем нужны алгоритмы, если часто реализация основных алгоритмов есть почти во всех языках
  2. Асимптотические обозначения - немного про математические нотации, которые нужны для размышления об эффективности алгоритмов
  3. Алгоритмы "разделяй и властвуй" - про алгоритмы, которые решают задачу рекурсивно за счет вызова самих себя на частях изначальной задачи
  4. Основной метод - метод для простого определения асимптотической сложности алгоритмов типа "разделяй и власствуй"
  5. Алгоритм QuickSort - про очень красивый алгоритм сортировки с интересным доказательством
  6. Линейный выбор - про выбор i-ой порядковой статистики за линейное время из неотсортированного массива
  7. Приложения про доказзательства по индукции и дискретные вероятности

В общем, книжка хороша, но надо читать в оригинале:)

#ComputerScience #Software