Акции школ
Войти

Курс «Алгоритмы и структуры данных»

Составитель: Денис Сметнёв · Обновлено: 21.03.2023

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

Подробнее


Компания: OTUS (Отус)

Язык: ru

Уровень: Средний Длительность: 5 месяцев Формат: Онлайн Старт: в любое время Документ: Диплом школы
🎓 Диплом школы
Почему мы рекомендуем: диплом школы — оценка по нашей методике (рейтинг, цена, трудоустройство, диплом)

Актуальная программа курса (50 модулей, по данным школы)

  1. Модуль 1. Простые алгоритмы и базовые структуры данных — В первом модуле мы научимся решать комбинаторные задачи полным перебором с использованием вложенных циклов и рекурсии, сравним эффективности различных алгебраических алгоритмов, поработаем с битовой арифметикой на примере шахматной доски, а также напишем реализацию базовых структур данных, которые вы будете использовать при составлении программ в рамках этого курса.
  2. • Циклы и рекурсия / ДЗ
  3. • Как выполнять домашние задания / ДЗ
  4. • Алгебраические алгоритмы / ДЗ
  5. • Базовые структуры данных / ДЗ
  6. • Битовая арифметика / ДЗ
  7. Модуль 2. Алгоритмы сортировки — В этом модуле мы рассмотрим самые разные алгоритмы сортировки данных, начиная самыми медленными и заканчивая эффективными алгоритмами, которые работают за линейное время, также мы напишем алгоритм внешней сортировки, когда все данные не могут быть загружены в память программы. На последнем занятии мы рассмотрим алгоритм нахождения порядковых статистик за линейное время.
  8. • Простые сортировки / ДЗ
  9. • Пирамидальная сортировка / ДЗ
  10. • Быстрая и внешняя сортировка / ДЗ
  11. • Линейная сортировка / ДЗ
  12. Модуль 3. Деревья поиска — В этом модуле мы окажемся в заповеднике деревьев поиска, познакомимся с их разновидностями, особенностями, правилами добавления и удаления элементов, методами балансировки на больших и малых поворотах. Вы узнаете про АВЛ и красно-чёрные деревья, расширяющиеся и рандомизированные деревья, о сильноветвящихся В-деревьях и про дерево отрезков, которое помогает быстро и просто вычислять ассоциативную функцию на любом отрезке массива.
  13. • Двоичные деревья поиска / ДЗ
  14. • Сбалансированные двоичные деревья поиска / ДЗ
  15. • N-ричные B и В+ деревья поиска
  16. • Красно-чёрные деревья
  17. Модуль 4. Хеш-таблицы — В этом модуле мы познакомимся с хэшированием, научимся создавать хэш-функции, вычислять хэш-значения для разных ключей-объектов, добавлять и удалять элементы в хэш-таблицу, рассмотрим различные способы разрешения коллизий. Мы также узнаем, что такое универсальное хэширование и как сэкономить время и место, используя идеальное хэширование для статического набора ключей.
  18. • Хэш-функции и хэш-таблицы / ДЗ
  19. • Разрешение коллизий
  20. • Универсальное и идеальное хэширование
  21. • Префиксное дерево / ДЗ
  22. • Зачётный англо-русский словарь
  23. Модуль 5. Теория графов — В этом модуле мы повторим основные понятия и принципы теории графов, разберём алгоритмы поиска вширь и вглубь, топологической сортировки вершин и поиска минимального скелета, изучим несколько алгоритмов поиска кратчайшего пути и решения задачи коммивояжера. На отдельном занятии мы рассмотрим алгоритмы работы с виртуальной памятью.
  24. • Определения и представления / ДЗ
  25. • Поиск и сортировка / ДЗ

Кем вы сможете работать

Junior-программист · Фронтенд-разработчик · Архитектор программного обеспечения

Сколько зарабатывают в профессии (медиана hh.ru, по 160 вакансиям)

Junior
86 000 ₽
Middle
182 500 ₽
Senior
250 000 ₽

Окупаемость: стоимость курса ≈ 1 мес зарплаты junior-специалиста.

Сравнение с похожими курсами других школ

КурсШколаЦенаСрокРейтингДиплом
Алгоритмы и структуры данных (этот) OTUS (Отус) — 5 месяцев — Диплом школы —
Modx LoftSchool (Лофт скул) беспл. — 5.0 — Обзор
1-2-3 — Сайт! Восхождение на Tilda Тренинг-центр 1day1step.ru 8 400 ₽ 2 месяца 5.0 — Обзор
Компьютерные сети. Видеокурс GeekBrains (ГикБреинс) — 4 недели 5.0 Сертификат Перейти

Стоит ли идти на этот курс

Плюсы

  • Программа охватывает путь от простых сортировок до олимпиадного и вероятностного программирования: редкий диапазон для одного курса среднего уровня
  • Структуры данных разобраны по видам отдельными модулями: двоичные деревья поиска, сбалансированные, B и B+ деревья, красно-чёрные — не одна обзорная тема «деревья» на весь блок
  • Курс завершается проектной работой и дипломом: есть артефакт, который можно показать на собеседовании
  • Алгоритмы на строках и теория графов в программе полноценными модулями, а не отдельными лекциями — темы, без которых рабочий код на реальных объёмах данных ведёт себя непредсказуемо

Минусы и кому не стоит

  • Нагрузка в неделю публично не указана: 150 дней и десять модулей дают ориентир по срокам, но не по часам. Сложно заранее понять, впишется ли курс в расписание рядом с работой
  • Данных о доходимости до финала нет. Тема плотная, программа длинная — риск застрять на середине реальный, и школа его не обсуждает открыто
  • Трудоустройство сводится к размещению резюме в базе партнёров, которые могут пригласить на интервью. Активного сопровождения нет

Когда этот курс вам не нужен

Если вы уже решаете задачи на LeetCode уровня medium-hard и понимаете, чем B-дерево отличается от красно-чёрного по структуре и сценариям применения — большая часть программы будет повторением. Не стоит идти сюда и тогда, когда цель: быстро закрыть один пробел перед конкретным собеседованием через три недели. Пять месяцев и десять модулей — про системное понимание, а не точечную подготовку. При жёстком бюджете алгоритмы реально освоить через открытые курсы плюс регулярную практику на Codeforces или аналогах: платный курс оправдан, когда нужна структура, живая обратная связь и дисциплина извне.

Как выбрать курс по этому направлению

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

Частые вопросы

Можно ли пройти курс с нуля, без опыта в алгоритмах?

Уровень средний: предполагается, что вы уже пишете код и понимаете базовые конструкции. Если только начинаете программировать, сначала освойте язык и синтаксис, потом алгоритмы — иначе первые модули по рекурсии и битовой арифметике будут не в строку.

Сколько по времени занимает курс?

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

Какой документ выдают в итоге?

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

Помогут ли с работой после курса?

Школа разместит ваше резюме в базе партнёров — они могут позвать на интервью. Дальше всё на вас: куратора, который ведёт по вакансиям, нет.

На какую роль ориентирован курс?

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

Сколько стоит курс?

Актуальная цена — .

Длительность курса

Длительность курса

150 дней

Формат обучения

Формат обучения

2 вебинара в неделю по 2 академических часа

Обратная связь

Обратная связь

общение с преподавателем в канале Slack раз в месяц очные митапы преподавателей и студентов

Теория и практика

Теория и практика

10 модулей 51 час теории и 40-80 часов практики

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

  • Писать рациональный и хорошо структурированный код
  • Владеть техникой вычисления сложности алгоритмов
  • Применять в работе продвинутые структуры данных: хэш-таблицы, графы, деревья поиска
  • Решать алгебраические задачи и задачи динамического программирования.
  • Разрабатывать кастомную хэш-таблицу
  • Реализовывать менеджер памяти с Garbage Collector и B-tree индекс для СУБД
Перейти на страницу курса Запишись на курс
прямо сейчас!

О курсе

О курсе

Junior разработчикам

Middle разработчикам

Рассрочка

12500 р. в месяц

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

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

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

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

Деревья

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

Хеш-таблицы

Графы

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

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

Вероятностные алгоритмы и структуры данных

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

Численные методы оптимизации

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

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

решение комбинаторных задач

реализация динамического массива

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

работа с деревьями

реализация хэш-таблиц

применение алгоритмов Бойера-Мура, Кнута-Морриса-Пратта, Ахо-Корасика, Лемпела-Зива

применение методов динамического программирования

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

работа с нейросетями

Навыки, которые вы получите

 
НЕЙРОСЕТИ

Компания, проводящая курс

OTUS (Отус)

222 курса по 861 теме

Образовательная онлайн-платформа и сообщество IT-профессионалов OTUS (Отус) работает с 2017 года. Компания является резидентом Сколково....

Преподаватели курса

Senior software engineer в EPAM

Закончил Волгоградский Государственный Технический...

Организатор форума по маркетингу в социальных сетях SMM Ural

Среди клиентов агентства: МегаФон, «Полисорб»,...

Автор видеокурсов по C#, Java, PHP

Профессиональный программист. Преподаватель языка Java...

Главный разработчик на iBM i

Опыт разработки программного обеспечения с 1990 года....

разработчик отдел машинного обучения компании Jet Infosystems.

Jet Infosystems Работаю в отделе машинного обучения компании...

Программист в Лаборатории Касперского

Программирую на С++ и Python в течение 18 лет, как хобби —...

Отзывы студентов

Отзывов об этом курсе пока нет

Ниже — отзывы о школе OTUS (Отус): они помогут составить впечатление, но в рейтинге курса не учитываются. Проходили этот курс? Поделитесь — это поможет другим студентам.

больше курсов

Похожие курсы компании

OTUS (Отус)
(0)
OTUS (Отус)
(0)
149 600 ₽
OTUS (Отус)
(0)
106 500 ₽
OTUS (Отус)
(0)
85 000 ₽
OTUS (Отус)
(0)
85 000 ₽
OTUS (Отус)
(0)
50 000 ₽
OTUS (Отус)
(0)
OTUS (Отус)
(2)
больше курсов

Другие курсы этих преподавателей

OTUS (Отус)
(1)
76 500 ₽
OTUS (Отус)
(3)
67 000 ₽
OTUS (Отус)
(9)
98 000 ₽
OTUS (Отус)
(3)
73 000 ₽
Skillbox (Скиллбокс)
(8)
64 994 ₽
Skillbox (Скиллбокс)
(19)
119 560 ₽