Мне было поручено создать библиотеку книг по алгоритмам для нашей небольшой компании (около 15 человек). Бюджет более чем 5k, но, конечно, меньше, чем 10k, так что я могу купить достаточное количество книг. Все люди здесь имеют, по крайней мере, степень бакалавра в области CS или тесно связанную с ней область, поэтому, хотя я получу некоторый базовый учебник, такой как Cormen, меня больше интересуют хорошие книги по продвинутым темам. (Я получу 4 тома Кнута, кстати)
Некоторый список тем будет:
Алгоритмы сортировки
Графовые алгоритмы
Строковые алгоритмы
Рандомизированные алгоритмы
Распределенные алгоритмы
Комбинаторные алгоритмы
и т.п.
По сути, я ищу хорошие рекомендации по книгам по основным темам в CS, связанным с алгоритмами и структурами данных. Особенно то, что выходит за рамки того, что обычно рассматривается в классах алгоритмов и структур данных, как часть степени бакалавра в хорошей школе. Я знаю, что вопрос довольно размыт, так как я ищу в общем полезный материал. Программное обеспечение, которое мы разрабатываем, в основном работает на уровне системы и обрабатывает большие объемы данных.
Идеальным также было бы найти что-нибудь, что охватывало бы довольно свежие классные структуры данных и алгоритмы, о которых большинство людей, возможно, не слышали.
РЕДАКТИРОВАТЬ: Вот несколько предварительных книг, которые я думаю, что я должен получить:
Введение в алгоритмы Cormen et al.
Разработка алгоритма Клейнбергом, Тардос
Искусство компьютерного программирования Том 1-4 от Кнута
Аппроксимационные алгоритмы Вазирани
Разработка алгоритмов аппроксимации Уильямсоном, Шмойс
Рандомизированные алгоритмы Мотвани, Рагхавана
Введение в теорию вычислений от Sipser
Вычислительная сложность Арора, Барак
Компьютеры и Непреодолимость Гэри и Джонсона
Комбинаторная оптимизация по Шрайверу
Несколько других книг, которые хотели найти мои коллеги, посвященные методам и алгоритмам языкового дизайна, компиляторам и формальным методам:
Типы и языки программирования от Pierce
Принципы проверки моделей Байером, Катоеном
Компиляторы: принципы, методы и инструменты Aho, Lam, Sethi, Ullman
Справочник по проектированию компиляторов: Оптимизация и генерация машинного кода, второе издание Srikant, Shankar
Справочник по сборке мусора: искусство автоматического управления памятью Джонс, Хоскинг, Мосс