Перейти к содержанию

DSA — структуры данных и алгоритмы

Трек по структурам данных и алгоритмам «с нуля»: каждая структура и каждый алгоритм реализованы вручную, без len, range, sorted и прочих встроенных помощников, — чтобы было видно, как они устроены внутри. Лабораторные есть на Python (lab01lab05) и в зеркальных реализациях на Go, а прикладные расширения (lab00, lab06lab11) разбирают структуры, которые реально встречаются в эксплуатации: графы, кучи, LRU-кэш, rate limiting, разбор логов, consistent hashing.

С чего начать

  • Конспект — самодостаточный разбор всех сущностей из лабораторных: что это, зачем нужно, сложность операций и работающий пример кода. Читается без обращения к исходникам.
  • Дорожная карта — куда развивать курс дальше: какие темы и структуры данных стоит добавить.
  • common — общие утилиты — переиспользуемые helper'ы (array_length, generate_array, print_array, custom_range), на которые опираются остальные лабы.

Академические лабы (lab01lab05)

Базовый набор структур и алгоритмов, реализованных без встроенных функций.

Прикладные лабы (lab00, lab06lab11)

Расширения под задачи SRE/DevOps: те же принципы, но на структурах из реальной эксплуатации.