Получить доступ

Структуры данных

Основа с Junior

Массивы, списки, хеш-таблицы, стеки и очереди, деревья и кучи — что внутри и когда что выбрать.

Выбор структуры данных определяет сложность операций. Поиск в массиве — O(n), в хеш-таблице — O(1), в сбалансированном дереве — O(log n).

структурадоступпоисквставкагде в языке
динамический массивO(1)O(n)O(1) в конецArray, list, ArrayList, срез Go
хеш-таблица—O(1)O(1)Map/Set, dict, HashMap, map
связный списокO(n)O(n)O(1) при известном узлеLinkedList
кучаминимум O(1)—O(log n)heapq, PriorityQueue
дерево поиска—O(log n)O(log n)TreeMap, индексы БД

Что важно знать

  • Как устроена хеш-таблица: хеш-функция, коллизии, расширение — и почему ключ должен быть неизменяемым.
  • Стек (последним пришёл — первым ушёл): вызовы функций, отмена действий, проверка скобок. Очередь: обработка задач, обход в ширину.
  • Куча — быстрый доступ к минимуму: приоритетные очереди, топ-K.
  • Деревья: DOM — дерево, индексы баз данных — B-деревья, JSON — дерево.
  • Амортизированная сложность: почему добавление в конец динамического массива — O(1), хотя иногда он копируется целиком.

Критерии освоения

Junior ≈ 16 ч

  • Выбирает между списком, словарём и множеством по нужным операциям и их сложности
  • Объясняет устройство хеш-таблицы — хеш, коллизии, расширение — и почему ключ неизменяемый
  • Применяет стек и очередь в задачах (скобки, обход в ширину)

Практика. Реализовать с нуля хеш-таблицу с цепочками и расширением и сравнить скорость со встроенным словарём.

Middle ≈ 8 ч

  • Использует кучу для топ-K и приоритетных очередей
  • Объясняет амортизированную сложность и устройство B-дерева в индексах баз данных

Практика. Решить задачу «топ-10 самых частых запросов из потока на миллион строк» с кучей, оценить память и время.

Вопросы с собеседований

← Вся карта «ИИ-инженер»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем