Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Алгоритмы, структуры данных, автоматы, теория вычислений

1. Кормен Томас, Лейзерсон, Ривест, Штайн — Алгоритмы. Построение и анализ, 3-е изд., 2013

  • Что изучаем:

    • Основные структуры данных: массивы, списки, стеки, очереди, деревья, графы, хэш-таблицы.
    • Алгоритмы сортировки и поиска: быстрая сортировка, слияние, пирамидальная сортировка, бинарный поиск и др.
    • Алгоритмы на графах: DFS, BFS, кратчайшие пути, MST (Minimum Spanning Tree).
    • Теория сложности: оценка временной и пространственной сложности алгоритмов (O-нотация, Ω, Θ).
    • Основы динамического программирования, жадных алгоритмов, разбиение и рекурсия.
  • Что получаем:

    • Системное понимание эффективных алгоритмов и структур данных.
    • Навыки анализа производительности и выбора подходящего алгоритма для задачи.
    • Базу для оптимизации программ, решения задач на соревнованиях, backend и embedded-разработки.

2. Хопкрофт Д., Мотвани Р., Ульман Дж. — Введение в теорию автоматов, языков и вычислений, 2008

  • Что изучаем:

    • Формальные языки, грамматики, конечные автоматы (DFA/NFA).
    • Регулярные выражения и их связь с автоматами.
    • Контекстно-свободные грамматики и синтаксический анализ.
    • Машины Тьюринга и основы вычислительной теории.
    • Теория NP-полноты, сложность алгоритмов.
  • Что получаем:

    • Понимание как компьютеры решают задачи на абстрактном уровне.
    • Базу для разработки компиляторов, интерпретаторов, парсеров.
    • Теоретические знания для анализа алгоритмов и языков программирования.

3. В. В. Григорьев-Голубев — Теория вероятностей и математическая статистика. Руководство по решению

  • Что изучаем:

    • Основы вероятностного мышления: вероятности событий, условные вероятности, независимость.
    • Случайные величины, распределения (нормальное, биномиальное, пуассон).
    • Математическое ожидание, дисперсия, ковариация.
    • Законы больших чисел, центральная предельная теорема.
    • Основы статистического анализа и проверки гипотез.
  • Что получаем:

    • Навыки количественного анализа данных и случайных процессов.
    • Основа для алгоритмов с вероятностными компонентами, машинного обучения и анализа больших данных.
    • Понимание ошибок измерений, вероятностных оценок и статистики.

Итог по разделу “Алгоритмы, структуры данных, автоматы, теория вычислений”:

КнигаЧто изучаемПрактическая польза
Кормен и др.Структуры данных, алгоритмы, анализ сложностиОптимизация кода, эффективное программирование, подготовка к собеседованиям, соревнованиям
Хопкрофт и др.Теория автоматов, формальные языки, вычислимостьСоздание компиляторов, парсеров, языков программирования, глубокое понимание вычислений
Григорьев-ГолубевВероятность, статистика, случайные процессыМашинное обучение, анализ данных, оценка алгоритмов с вероятностными компонентами

Главный эффект:

  • После этих трёх книг у тебя будет и практическая база алгоритмов и структур данных, и теоретическое понимание вычислимости, и инструменты работы с вероятностями и случайными процессами.
  • Это ключевой раздел для системного программирования, backend, high-performance и распределённых систем.