Алгоритмы и структуры данных на C++ — Дмитрий Валерьевич Соколов — обложка книги
300 страниц
C++
PDF
4.5

Алгоритмы и структуры данных на C++

От основ до продвинутых техник с примерами на C++17/20

Автор:

Год:

Краткое содержимое:

Книга «Алгоритмы и структуры данных на C++» — это полноценное практическое руководство, которое охватывает все ключевые темы, необходимые для уверенного владения языком C++ на уровне middle-разработчика и выше. Материал изложен с учётом современных стандартов C++17 и C++20, что делает книгу актуальной для профессиональной разработки.

О чём эта книга

Вы последовательно изучите фундаментальные и продвинутые структуры данных:

  • Линейные структуры: динамические массивы (std::vector), связные списки (односвязные, двусвязные), стеки и очереди, включая std::queue и std::stack.
  • Деревья и графы: бинарные деревья поиска, AVL-деревья, красно-чёрные деревья, обходы (BFS, DFS), алгоритмы Дейкстры, Беллмана-Форда, Флойда-Уоршелла.
  • Хеш-таблицы: реализация, разрешение коллизий, std::unordered_map и std::unordered_set.
  • Алгоритмы сортировки и поиска: быстрая, слиянием, пирамидальная, бинарный поиск, интерполяционный поиск.
  • Динамическое программирование: задача о рюкзаке, наибольшая общая подпоследовательность, расстояние Левенштейна.
  • Современные возможности C++: умные указатели, move-семантика, лямбда-выражения, корутины (coroutines), ranges.

Для кого эта книга

  • Начинающих C++ разработчиков, которые хотят систематизировать знания об алгоритмах.
  • Студентов технических специальностей, готовящихся к собеседованиям или олимпиадам по программированию.
  • Практикующих программистов, желающих освоить продвинутые техники оптимизации кода и работы с памятью.

Что вы узнаете

  • Как выбирать оптимальную структуру данных под конкретную задачу (Big O-нотация, амортизационный анализ).
  • Как реализовать собственные контейнеры с нуля и как правильно использовать STL.
  • Как писать эффективный, безопасный и читаемый код с учётом особенностей C++ (RAII, исключения, шаблоны).
  • Как решать типовые задачи на собеседованиях: от разворота списка до поиска кратчайшего пути в графе.

Каждая глава содержит примеры кода, которые можно сразу запустить, и практические задания с разбором решений. Книга станет надёжным помощником как для самообразования, так и для подготовки к техническим интервью.

Рекомендаций