Алгоритмы
для разработчиков

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

Учим в собственной технологической среде

Погружение в IT-профессию подразумевает постоянный контакт с изучаемыми технологиями, выполнение практических заданий и общение с наставником. Для этого мы создали собственную среду обучения.

01

Онлайн-тренажёр и Яндекс.Контест

С первого дня вы учитесь на практике. Теория и поддержка доступны в нашем онлайн-тренажере, а практика — в Яндекс.Контесте — специальной платформе, созданной для проверки алгоритмических задач. Решайте задачи на своём любимом популярном языке программирования: C/C++, Python, Java, Go или JavaScript.

02

Код-ревью

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

03

Поддержка

Команда наставников проверяет и комментирует ваши работы, помогает разобраться в сложностях и делится профессиональным опытом. Поддержка в чате доступна 24/7.

Программисты учат программированию

Наставники — опытные разработчики из Яндекса и других IT-компаний.

Сколько стоит обучение

Вводный курс —
бесплатно

Вас ждет несколько задач, типичных для алгоритмических собеседований. Попробуйте решить их. Если задачи показались интересными или не получилось решить их с первого раза — курс будет вам полезен. Кроме того, вы сможете проверить, достаточно ли у вас опыта программирования для прохождения этого курса.
  • Доступ к одному набору задач
  • Знакомство с системой Яндекс.Контест
  • Отзывчивая служба поддержки

Платное продолжение

13 000 ₽ помесячный платёж.
Итоговая сумма составит 52 000 ₽

или

45 000 ₽ при оплате сразу
за 4 месяца обучения.

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

Программа вашего обучения

1

Введение в алгоритмы

20 часов

Определение алгоритма. Понятие сложности алгоритма. O-нотация. Оценка времени исполнения программы.

2

Основные структуры данных

20 часов

Массив, связный список, стек, очередь. Сложность операций вставки, поиска и удаления. Представление данных в памяти. Пространственная сложность алгоритма.

Открыть всю программу

Рекурсия

4

Сортировки

15 часов

Квадратичные сортировки. Сортировка слиянием. Быстрая сортировка. Линейная сортировка подсчётом.

5

Хеш-функции и хеш-таблицы

20 часов

Абстракция отображения. Понятие и свойства хеш-функции, примеры. Структура данных хеш-таблица. Коллизии и способы их разрешения.

6

Деревья

20 часов

Структура данных дерево. Сбалансированные деревья поиска. Структура данных куча. Пирамидальная сортировка.

7

Графы

20 часов

Определение графа, способы представления в памяти. Обход графа в глубину и в ширину. Компоненты связности. Алгоритмы поиска кратчайшего пути. Минимальное остовное дерево.

8

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

15 часов

Определение, одномерные и двумерные задачи. Динамическое программирование по подотрезкам. Динамическое программирование по подмножествам.

9

Жадные алгоритмы

5 часов

Понятие жадного алгоритма, область применения. Примеры, доказательство корректности алгоритма.

10
Скрыть программу

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

20 часов

Префикс-функция. Поиск подстроки, алгоритм Кнута-Морриса-Пратта. Структура данных бор.

Что говорят о нас
Студенты
Эксперты

Начните учиться бесплатно

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

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

Подойдёт ли мне курс?
Мы подготовили бесплатный набор задач, который поможет ответить на этот вопрос. Если вы убедитесь, что курс не для вас, это тоже положительный результат.
Можно ли выучить алгоритмы за 4 месяца?
Думаем, что да. Если вы будете уделять занятиям не менее 10 часов в неделю, выполнять домашние задания и общаться с вашим наставником. Тогда за 4 месяца вы освоите навыки для дальнейшего профессионального развития.
Каким требованиям я должен соответствовать?
У вас должна быть возможность заниматься не менее 10 часов в неделю; вы сможете решить тестовые задания на одном из популярных языков программирования: С/C++, Python, Java, Go, JavaScript.
Получу ли я сертификат об окончании курса?
Сертификат — это официальный документ о дополнительном образовании. Он подтверждает, что вы получили алгоритмическую подготовку и успешно справились с практическими заданиями. Для успешного прохождения курса и получения сертификата вам необходимо решить минимум 50% заданий из основного контеста и две финальные задачи.
Как и когда я буду учиться?
Обучение строится из трёх составляющих: теория с закреплением в Яндекс.Контесте, домашнее задание для самостоятельной практики и код-ревью. Вы учитесь в любое удобное время, а выполнение домашнего задания привязано к двухнедельным спринтам.
Кто будет меня учить?
Программа составлена опытными преподавателями, методологами и действующими специалистами не только Яндекса и Школы анализа данных, но и других лидеров технологической и образовательной индустрии.
Что делать, если я не справлюсь с нагрузкой?
Если вы понимаете, что нужно сделать паузу или получить дополнительное время для закрепления материала, у вас есть возможность взять академический отпуск на месяц — но только два раза. Также в учебной программе предусмотрены каникулы.
После курса меня возьмут работать в Яндекс?
Мы поддержим при поиске работы, но не гарантируем трудоустройство в Яндекс. Многое зависит от вас самих: наличие подходящего опыта для вакантных позиций, желание сменить работу и упорство в прохождении всех этапов.
Если не понравится, я могу вернуть деньги?
Короткий ответ — да, причём в любой момент. Правда, если вы уже прошли какую-то часть курса, её придётся оплатить, но остальное вернём. Более подробно рассказываем про это в седьмом пункте оферты.