Algorithms and Data Structures
Классический учебник по алгоритмам и структурам данных от создателя языка Pascal и Modula-2, Никлауса Вирта. Книга охватывает фундаментальные концепции, необходимые для эффективного программирования.
Первая часть посвящена базовым структурам данных: массивы, записи, множества, последовательности, а также методам поиска (линейный, бинарный, строковый). Вторая часть детально рассматривает алгоритмы сортировки массивов и последовательностей, включая сортировку вставками, выбором, обменом, а также продвинутые методы (Шелла, быстрая сортировка, пирамидальная сортировка, слияние).
Третья часть знакомит с рекурсивными алгоритмами и их применением, включая задачи с возвратом (backtracking), такие как задача о восьми ферзях и задача о стабильных браках. Четвертая часть посвящена динамическим структурам: указатели, линейные списки, деревья (бинарные, сбалансированные, B-деревья) и приоритетные очереди.
Заключительная часть рассматривает хеширование (ключевые преобразования) — выбор хеш-функций и методы разрешения коллизий. Книга содержит множество примеров на языке Modula-2 и является обязательным чтением для всех, кто изучает компьютерные науки.
