Книга Седжвика и Уэйна "Алгоритмы на Java" является классическим справочным руководством в котором содержится необходимый объем знаний для программиста в области алгоритмов, накопленных за последние несколько десятилетий. В книге "Алгоритмы на Java" представлен широкий спектр рассматриваемых тем: исчерпывающее толкование структур данных и алгоритмов сортировки, поиска, обработки графов и строк, включая пятьдесят алгоритмов, которые должен знать каждый программист. Описываются новые реализации алгоритмов на Java, написанные в ясном модульном стиле, при котором весь код доступен читателю и полностью готов к использованию. В книге изучение алгоритмов на Java ведется в контексте важнейших научных, инженерных и коммерческих приложений. Клиенты и алгоритмы выражены с помощью реального кода, а не псевдокода, как во многих других книгах. Книга "Алгоритмы на Java" отличается от множества других ясным и кратким текстом, детальными примерами с иллюстрациями, тщательно подобранным кодом, историческим и научным контекстом, а также упражнениями для самостоятельной проработки на всех уровнях. В книге представлены точные соображения относительно производительности, поддерживаемые соответствующими математическими моделями и эмпирическими исследованиями, которые подтверждают достоверность этих моделей.
Об авторах Предисловие Отличительные черты Сайт книги Использование в учебном плане Контекст Благодарности От издательства Глава 1. Основные понятия 1.1. Базовая модель программирования 1.2. Абстракция данных 1.3. Контейнеры, очереди и стеки 1.4. Анализ алгоритмов 1.5. Учебный пример: объединение-сортировка Глава 2. Сортировка 2.1. Элементарные алгоритмы сортировки 2.2. Сортировка слиянием 2.3. Быстрая сортировка 2.4. Очереди с приоритетами 2.5. Применения Глава 3. Поиск 3.1. Таблицы имен 3.2. Деревья бинарного поиска 3.3. Сбалансированные деревья поиска 3.4. Хеш-таблицы 3.5. Применения Глава 4. Графы 4.1. Неориентированные графы 4.2. Ориентированные графы 4.3. Минимальные остовные деревья 4.4. Кратчайшие пути Глава 5. Строки 5.1. Сортировка строк 5.2. Trie-деревья 5.3. Поиск подстрок 5.4. Регулярные выражения 5.5. Сжатие данных Глава 6. Контекст 6.1. Событийное моделирование 6.2. B-деревья 6.3. Суффиксные массивы 6.4. Алгоритмы для сетевых потоков 6.5. Сведение и неразрешимость Предметный указатель