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

Курс "Алгоритмы и структуры данных" от OTUS для junior-программистов и разработчиков. 5 месяцев обучения + проектная работа. 10 модулей и 40 занятий: сортировки, деревья поиска, хеш-таблицы, графы, алгоритмы на строках, динамическое программирование, вероятностные алгоритмы. Живые онлайн-вебинары 2 раза в неделю, практика на любом языке программирования, доступ к записям навсегда.

8.6/10
Рейтинг ToolFox
Как мы оцениваем курсы

Рейтинг ToolFox формируется по 5 критериям, каждый оценивается от 1 до 10:

  • Качество программы — полнота материала, актуальность технологий
  • Практика — реальные проекты, код-ревью, тренажёры
  • Поддержка — наставники, обратная связь, сообщество
  • Трудоустройство — карьерный центр, помощь с резюме
  • Цена/качество — соотношение стоимости и получаемых навыков

Итоговый балл — среднее арифметическое 5 критериев. Обновляется при каждом пересмотре курса.

Платформа
OTUS
Автор
Евгений Колосков, Елена Вставская, Михаил Горшков, OTUS
Длительность
5 мес, 8 ч/нед
Формат
Онлайн, живые вебинары 2 раза в неделю по 2 ак. часа с доступом к записям навсегда
Уровень
Средний
Язык
Русский
Сертификат
Удостоверение о повышении квалификации
Обновлено
март 2026 г.
0 ₽

Программа и содержание

Модули и темы

Научитесь решать комбинаторные задачи полным перебором с использованием вложенных циклов и рекурсии. Сравните эффективность различных алгебраических алгоритмов. Поработаете с битовой арифметикой на примере шахматной доски и напишете реализацию базовых структур данных.

  • Циклы и рекурсия
  • Алгебраические алгоритмы
  • Базовые структуры данных
  • Битовая арифметика

Простые алгоритмы и базовые структуры данных

Решение комбинаторных задач полным перебором с циклами и рекурсией, алгебраические алгоритмы, битовая арифметика на примере шахматной доски, реализация базовых структур данных

Научитесь решать комбинаторные задачи полным перебором с использованием вложенных циклов и рекурсии. Сравните эффективность различных алгебраических алгоритмов. Поработаете с битовой арифметикой на примере шахматной доски и напишете реализацию базовых структур данных.

  • Циклы и рекурсия
  • Алгебраические алгоритмы
  • Базовые структуры данных
  • Битовая арифметика

Алгоритмы сортировки

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

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

  • Простые сортировки
  • Пирамидальная сортировка
  • Быстрая и внешняя сортировка
  • Линейная сортировка

Деревья поиска

Двоичные и сбалансированные деревья поиска, АВЛ-деревья, красно-чёрные деревья, B и B+ деревья

Познакомитесь с разновидностями деревьев поиска, правилами добавления и удаления элементов, методами балансировки. Изучите АВЛ-деревья, красно-чёрные деревья, расширяющиеся и рандомизированные деревья, сильноветвящиеся B-деревья и деревья отрезков.

  • Двоичные деревья поиска
  • Сбалансированные деревья
  • B и B+ деревья
  • Красно-чёрные деревья

Хеш-таблицы

Хеш-функции, хеш-таблицы, разрешение коллизий, универсальное и идеальное хеширование, префиксные деревья

Научитесь создавать хеш-функции, вычислять хеш-значения, добавлять и удалять элементы в хеш-таблицу. Рассмотрите способы разрешения коллизий, универсальное хеширование и идеальное хеширование для статического набора ключей.

  • Хеш-функции и хеш-таблицы
  • Разрешение коллизий
  • Универсальное хеширование
  • Префиксное дерево

Теория графов

Основные понятия теории графов, алгоритмы поиска, минимальный скелет, кратчайший путь, задача коммивояжёра

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

  • Определения и представления
  • Поиск и сортировка
  • Минимальный скелет
  • Кратчайший путь
  • Задача коммивояжёра

Алгоритмы на строках

Алгоритмы поиска шаблона в тексте, алгоритмы сжатия и шифрования данных

Рассмотрите алгоритмы поиска шаблона в тексте: от примитивных до сложных с построением бора для конечного недетерминированного автомата. Изучите три алгоритма сжатия данных и основы криптоанализа на примерах шифрования и обмена ключами.

  • Алгоритм Бойера-Мура
  • Алгоритм Ахо-Корасик
  • Алгоритм Кнута-Морриса-Пратта
  • Сжатие данных
  • Шифрование

Динамическое программирование

Алгоритмы кэширования и метод динамического программирования для решения задач

Рассмотрите различные способы кэширования в языках программирования. Познакомитесь с методом динамического программирования и решите несколько задач с его применением.

  • Алгоритмы кэширования
  • Динамическое программирование

Олимпиадное программирование

Решение задач олимпиадного уровня разными способами на нескольких языках программирования

Решите несколько задач различной сложности на LeetCode. Задачи решаются разными способами на нескольких языках программирования. Изучите алгоритм Dancing Links Дональда Кнута.

  • Сложные задачи
  • Dancing Links

Вероятностные алгоритмы

Решение задач из области больших данных вероятностными методами

Рассмотрите и решите задачи из области больших данных вероятностными методами с использованием различных структур данных: фильтр Блума, алгоритмы MinHash, SimHash, HyperLogLog и Count-Min Sketch.

  • Фильтр Блума
  • MinHash и SimHash
  • HyperLogLog и Count-Min Sketch

Проектная работа

Разработка собственного проекта на основе знаний курса с защитой перед преподавателями

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

  • Выбор темы
  • Консультации
  • Защита проекта

Чему научитесь

Реализовывать классические алгоритмы сортировки, поиска и обхода
Работать с деревьями поиска, хеш-таблицами и графами
Применять алгоритмы на строках: Бойера-Мура, Ахо-Корасик, КМП
Использовать метод динамического программирования
Решать задачи олимпиадного уровня
Применять вероятностные алгоритмы для работы с большими данными
Повышать производительность программ и качество кода
Создавать собственные алгоритмы для решения бизнес-задач
Оценивать сложность алгоритмов и выбирать оптимальные решения

Для кого подходит

  • Junior-программистам, которые хотят усовершенствовать навыки и претендовать на позиции уровня middle в крупных компаниях
  • Бэкенд- и фронтенд-разработчикам на любых языках, которые хотят прокачать алгоритмическое мышление и претендовать на позиции senior

Требования

  • Начальный или средний уровень программирования на любом языке
  • Элементарная математика на уровне средней школы
  • Минимальное знание алгоритмов и структур данных

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

Обзор подготовлен редакцией ToolFox · Обновлено: март 2026 г.

Плюсы

  • Живые онлайн-вебинары с практикующими преподавателями, а не предзаписанные уроки
  • Можно выполнять задания на любом языке программирования
  • Домашние задания с тремя уровнями сложности: Junior, Middle, Senior
  • Доступ к записям и учебным материалам навсегда
  • Итоговая проектная работа для портфолио
  • Удостоверение о повышении квалификации от аккредитованной IT-компании
  • Возможность бесплатно перейти в другую группу
  • Более 80% практики в программе курса

Минусы

  • Цена не указана на сайте, нужно оставлять заявку для уточнения
  • Курс между наборами, нет фиксированной даты старта
  • Нет встроенного тренажёра для проверки заданий, тесты нужно писать самостоятельно

Отзывы (1)

Был ли полезен этот инструмент?
💬

Загрузка комментариев...

Часто задаваемые вопросы

Что, если в середине курса я не смогу продолжать обучение?
Можно бесплатно перейти в другую группу, но только один раз за время обучения.
Обязательно ли защищать выпускной проект?
Для сертификата OTUS -- нет, на нём отражается количество выполненных домашних заданий. Для удостоверения о повышении квалификации -- да. Проект можно сдать в чате с преподавателем.
Можно ли вернуть деньги?
Да, за неотученное время. Например, если курс длится 5 месяцев и вы отучились 1 месяц, вернут оплату за оставшиеся 4 месяца.
Обязательно ли выполнять домашние задания?
Если хотите повысить навыки -- да. Обратную связь даёт лично руководитель курса. Итоговый проект можно защитить перед руководителем и преподавателями.
Можно ли задавать вопросы преподавателям?
Да, во время вебинара, в закрытом Telegram-чате или в чате по домашним заданиям. Организационные вопросы -- через коммьюнити-менеджера.
Насколько сложно учиться?
Курс рассчитан на junior-программистов и бэкенд/фронтенд-разработчиков. Нужно выделять 6-12 часов в неделю на обучение и домашние задания.
Какой объём практики на курсе?
Больше 80%. Доступны дополнительные материалы, литература и видеозаписи всех вебинаров.
Помогаете ли с трудоустройством?
Проводятся вебинары по трудоустройству в OTUS Club: резюме, собеседования, реферальные программы. Преподаватели занимают ведущие позиции в компаниях и могут дать рекомендацию.

Что, если в середине курса я не смогу продолжать обучение?

Можно бесплатно перейти в другую группу, но только один раз за время обучения.

Обязательно ли защищать выпускной проект?

Для сертификата OTUS -- нет, на нём отражается количество выполненных домашних заданий. Для удостоверения о повышении квалификации -- да. Проект можно сдать в чате с преподавателем.

Можно ли вернуть деньги?

Да, за неотученное время. Например, если курс длится 5 месяцев и вы отучились 1 месяц, вернут оплату за оставшиеся 4 месяца.

Обязательно ли выполнять домашние задания?

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

Можно ли задавать вопросы преподавателям?

Да, во время вебинара, в закрытом Telegram-чате или в чате по домашним заданиям. Организационные вопросы -- через коммьюнити-менеджера.

Насколько сложно учиться?

Курс рассчитан на junior-программистов и бэкенд/фронтенд-разработчиков. Нужно выделять 6-12 часов в неделю на обучение и домашние задания.

Какой объём практики на курсе?

Больше 80%. Доступны дополнительные материалы, литература и видеозаписи всех вебинаров.

Помогаете ли с трудоустройством?

Проводятся вебинары по трудоустройству в OTUS Club: резюме, собеседования, реферальные программы. Преподаватели занимают ведущие позиции в компаниях и могут дать рекомендацию.

Информация проверена: март 2026 г.