Описание книги
Роберт Седжвик тщательно переписал, существенно расширил и обновил свою популярную книгу "Алгоритмы на C++", чтобы получилось современное и исчерпывающее описание важных фундаментальных алгоритмов и структур данных. Вместе с Кристофером Ван Виком он разработал новые реализации на C++, которые выражают эти методы в сжатом, но наглядном виде, а также предоставляют программистам практические средства для их проверки в реальных приложениях.
В книге "Алгоритмы на C++" представлено много новых алгоритмов, а их объяснения гораздо более подробны, чем в предыдущем издании. Новая структура текста и подробные иллюстрации к нему вместе с сопутствующими комментариями значительно улучшают представление материала. Третье издание также содержит удачное сочетание теории и практики, которые делают работу Седжвика бесценным источником сведений для более чем 300 000 программистов в мире!
В частях 1-4 книги рассматриваются фундаментальные алгоритмы, структуры данных, сортировка и поиск. В ней приведено подробное описание фундаментальных структур данных и алгоритмов для сортировки, поиска и сопутствующих приложений. Хотя, по сути, материал книги применим к программированию на любом языке, реализации Ван Вика и Седжвика используют естественную связь между классами C++ и реализациями абстрактных типов данных (АТД). В части 5 книги рассматриваются алгоритмы на графах, которые играют все более важную роль во множестве приложений, таких как сетевая связность, конструирование электронных схем, составление графиков, обработка транзакций и выделение ресурсов.
Каждая часть содержит новые алгоритмы и реализации, усовершенствованные описания и диаграммы, а также множество новых упражнений для лучшего усвоения материала. Акцент на АТД расширяет диапазон применения программ и лучше соотносится с современными средами объектно-ориентированного программирования.
В книге "Алгоритмы на C++" описаны следующие темы
Подробное описание массивов, связных списков, строк, деревьев и других базовых структур данных
Акцентирование внимание на абстрактных типах данных (АТД), модульном программировании, объектно-ориентированном программировании и классах C++
Более 100 алгоритмов сортировки, выбора, реализаций АТД очереди с приоритетами и реализаций АТД таблицы символов (для поиска)
Новые реализации биномиальных очередей, многопутевой поразрядной сортировки, рандомизированных BST-деревьев, скошенных деревьев, слоеных списков, многопутевых trie-деревьев, B-деревьев, расширяемого хеширования и многих других методов
Больший объем численных характеристик алгоритмов, позволяющих сравнивать их
Более 1000 новых упражнений, которые помогают разобраться в свойствах алгоритмов
Полный обзор свойств и типов графов
Орграфы и DAG-графы
Минимальные остовные деревья
Кратчайшие пути
Сетевые потоки
Диаграммы, примеры кода на C++ и подробные описания алгоритмов
Книга "Алгоритмы на C++" предоставляет программистам полный инструментальный набор для реализации, отладки и использования фундаментальных алгоритмов в широком диапазоне компьютерных приложений.
Об авторах
Роберт Седжвик - профессор компьютерных наук в Принстонском университете. Занимает должность директора в компании Adobe Systems, работал в исследовательских коллективах в Xerox PARC, Институте оборонного анализа и INRIA. Вместе с Филиппом Флажоле (Philippe Flajolet) написал книгу An Introduction to the Analysis of Algorithms.
Кристофер Дж. Ван Вик - профессор математики и компьютерных наук и заодно заместитель декана в Университете Дрю. Работал в исследовательском коллективе в Bell Laboratories. И Седжвик, и Ван Вик получили свои степени доктора философии в Университете Стэнфорда под руководством Дональда Э. Кнута.