Разработка алгоритмов. Инженерный подход
Эта книга предлагает уникальный инженерный подход к разработке и анализу алгоритмов, выводя их на уровень предсказуемой практической эффективности. В отличие от традиционных учебников, фокусирующихся на нотации «О большое», автор рассматривает базовые и классические алгоритмические задачи, возникающие при создании приложений больших данных.
В книге демонстрируются элегантные решения постепенно возрастающей сложности для различных типов данных, включая целые числа, строки, деревья и графы. Рассматриваются такие алгоритмические инструменты, как выборка, сортировка, сжатие данных и поиск по словарям и текстам. Особое внимание уделяется анализу решений в рамках как классической RAM-модели, так и более значимой с практической точки зрения модели с использованием внешней памяти, позволяющей оценивать сложность ввода-вывода.
Книга содержит подробный псевдокод и множество работающих примеров, что делает ее ценным ресурсом для студентов, исследователей и профессионалов, заинтересованных в результативной и экономичной обработке больших данных. В заключительных главах представлена информация о последних разработках, связанных со сжатыми структурами данных.










