«Чернее черного» 40% на все курсы до 30 ноября
10 : 00 : 00 : 00
– 40%
– 40%
– 40%
– 40%
– 40%
– 40%
– 40%
Our Website is Almost Ready
Launch a targeted campaign.
Scale your infrastructure with our simple service.
Days
Hours
Minutes
Seconds

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

Начало курса в любой момент
Курс для тех, кто хочет научиться работать с алгоритмами, подготовиться к собеседованию в технологическую компанию или участвовать в сложных проектах
Подготовим к собеседованиям в IT-компании в России и за рубежом: Яндекс, Samsung, Amazon и т.д.
3
Программисты middle+ смогут потренировать забытые навыки и научатся решать сложные задачи
2
Интенсивная программа курса поможет держать мозг в тонусе и писать более чистый код
1
Кому подходит курс?
Junior-разработчикам и тем, кто хочет стать разработчиком / устроиться на должность разработчика
Middle-разработчикам
Уже имеете базовые навыки в любом объектно-ориентированном языке программирования. Вы освоите как теоретический, так и практический материал, а также познакомитесь с принципами оценки сложности алгоритмов.
Освежите знания по теме алгоритмов и структур данных. Акцент на практике - написание кода, разбор подходов в решении алгоритмических задач. Вы сможете выйти на новый уровень, научитесь создавать новые алгоритмы и вспомните базу для поступления на работу в крупные технологические компании: Яндекс, Сбер, Google, Microsoft и другие.
Практика и теория
47 видеолекций и 150 практических заданий
Формат
Курс в записи на платформе CoreApp
Поддержка
Комментарии преподавателя по заданиям в течение всего обучения
Длительность
6 месяцев
Этот курс подойдет вам, если
Вы хотите развиваться как профессиональный разработчик и готовы повысить свой уровень
Вы знаете на базовом уровне один из объектно-ориентированных языков программирования: Python, Java, PHP, C++, JavaScript, C#
Программист должен знать ключевые алгоритмы и уметь использовать их в написании кода
Польза
Знание алгоритмов расширяет инструментарий разработчика в решении практических задач
Удобство
Изучаются в университетском курсе на IT-специальностях, и часто встречаются на технических собеседованиях.
Опыт
Зачем изучать алгоритмы?
После изучения вы
Узнаете о популярных алгоритмах и структурах данных
Познакомитесь со стандартными библиотеками
языков программирования
Получите практический опыт решения сложных алгоритмических задач
Сможете в любой момент вернуться к лекциям и освежить знания. Доступ неограничен
Сможете применять полученные навыки при разработке программ
Сможете легко пройти техническое собеседование
Получите сертификат о прохождении курса «Алгоритмы и структуры данных» от proglib. academy
Научитесь писать более короткий и эффективный код
Ваши знания подтвердит официальный сертификат
При успешном прохождении курса вы получаете квалифицированный сертификат. Работодатель сможет проверить его действительность на сайте proglib.academy.

Сертификат вы получите после прохождения курса.
В этом видео обсуждается интерфейс очереди и способы его реализации. Одна из классических реализаций — двоичная куча. Разбираем её внутреннее устройство, асимптотики, возможные расширения. Находим её реализацию в стандартной библиотеке. Рассматриваем примеры задач, решаемых с помощью очереди с приоритетом.
Вебинар с разработчиком Яндекса Степаном Мацкевичем «Очередь с приоритетом»
Бесплатно
Proglib.academy — онлайн-курсы от создателей одного из самых крупных IT-сообществ «Библиотека программиста». В нашем комьюнити уже более 800 000 разработчиков.

Помогаем развивать технические навыки, изучить новые профессии и продвигаться в карьере. Учим решать сложные задачи и готовим к собеседованиям в Яндекс, FAANG, Samsung, Amazon и т. д.
Proglib academy – это
Программа обучения
Знакомство с программой. Способы измерения времени выполнения алгоритмов. О-нотация. Использование алгоритмов с открытым ключом.
Введение. Производительность алгоритмов
1
Числовые алгоритмы: алгоритм Эвклида, возведения в целую степень, схема Горнера, проверка простоты, решето Эратосфена.
Работа с числами
2
Массивы. Указатели. Доступ к элементам. Линейный поиск. Двумерные массивы. Динамический массив.
Массивы
3
Бинарный поиск. Вставка и удаление элемента. Удаление нескольких элементов.
Алгоритмы на массивах
4
Понятие об АТД, интерфейсе. Односвязные, двусвязные списки. Основные операции. Реализации на массиве. Реализация на списке. Применение.
Списки. Стек, очередь, дек
5
Понятие о пирамиде (куче), построение пирамиды. Извлечение максимума, добавление элемента. std::priority_queue.
Очередь с приоритетом
6
Квадратичные сортировки. Сортировка слиянием. Быстрая и пирамидальная сортировка. std::sort. Сортировка подсчетом. Сложность алгоритмов по времени и памяти.
Основы сортировки
7
Поиск медианы и порядковых статистик методом QuickSelect.
Порядковые статистики
8
Виды деревьев. Обходы в глубину и в ширину. Двоичные деревья поиска. Необходимость балансировки. АВЛ-деревья и т.д.
Деревья
9
Хеш-таблицы и ассоциативный доступ. Методы разрешения коллизий. std::unordered_set, std::unordered_map.
Хеш-таблицы
10
Примеры жадных алгоритмов, их корректность. Задача о рюкзаке. Одномерная и двумерная динамика. Итерации с двумя индексами.
Жадные алгоритмы. Динамическое программирование
11
Виды и представление графов. Рекурсивные алгоритмы. Связность. Обходы в глубину и в ширину. Сильная связность, конденсация. Поиск кратчайших путей, алгоритм Дейкстры.
Графы и рекурсия
12
Символы, кодировки, юникод. Поиск в строках – алгоритмы Рабина-Карпа и Кнута-Морриса-Пратта. Бор.
Строки
13
CRC-коды, MD5, SHA.
Криптография
14
Длинные числа. Итоги
15
Шелла, быстрая, поразрядная.
Сортировки
16
Сложные алгоритмы поиска строк. Редакционное расстояние.
Строки
17
Балансированные деревья. В-деревья.
Деревья
18
Остовные деревья, пути, раскраски и т.д. Интернет и графы.
Графы
19
Методы Хаффмена и Лемпель-Зива.
Сжатие данных
20
Практические задачи.
Динамическое программирование
21
Задача коммивояжера.
NP-трудные задачи
22
Эвристические алгоритмы и функции ИИ
23
Образование: Закончил механико-математический факультет МГУ им. М.В. Ломоносова в 2006 году, защитил кандидатскую диссертацию в 2010 году.
Место работы: разработчик Яндекс Go, руководитель сектора разработки сценариев организации поездок, преподаватель Факультета Инноваций и Высоких Технологий МФТИ
Преподаватели
Степан Мацкевич
Образование: Старший преподаватель ФКН НИУ ВШЭ, НИТУ МИСИС, аспирант департамента анализа данных и искусственного интеллекта ФКН НИУ ВШЭ.
Место работы: Инженер-программист, ведущий эксперт НИУ ВШЭ, цифровой ассистент и цифровой консультант НИУ ВШЭ.
Мария Горденко
Стоимость полного курса
Обучение проходит на платформе CoreApp. Занимайтесь в удобное время и в своем темпе. Вам будет доступен общий чат с сокурсниками и поддержка от куратора 24/7. Команда обучающего центра дает обратную связь по каждому домашнему заданию.
6 месяцев
Цена фиксированная при оплате онлайн единым платежом
Стоимость курса
21 594 ₽
35 990 ₽
1 800 ₽/мес
При оплате обучения в рассрочку на 12 месяцев.
Беспроцентная рассрочка
«Алгоритмы и структуры данных» Proglib.Academy
Без процентов и переплат. Мы все взяли на себя! Первый платеж только через месяц
Если вы решите, что обучение вам не подходит, мы оформим возврат денежных средств в течение 7 дней после старта обучения.
Вам понравится учиться у нас или мы вернём деньги
Отзывы студентов
По наполнению курса, который я прохожу, нравится абсолютно все, разбираются все темы, в которые мне необходимо было погрузиться. Курс скорее для продвинутых.
Даниза Муссаева
Отличный курс по математике! Очень понятные и доходчивые объяснения от авторов.
Михаил Шпильман
Курс proglib.academy очень понравился. Для меня ценно было то, что освещались фундаментальные темы по математике, которые я не проходил в университете.
Глеб Аксенов
C помощью курса proglib.academy я хотел освежить знания и всегда иметь возможность вернуться к качественным заданиям. Курс с этой задачей справился, так что благодарю!
Лев Аркашов
Даниза Муссаева
По наполнению курса, который я прохожу: нравится абсолютно все, большое количество теории, разбираются все темы, в которые необходимо погрузиться. Курс скорее для продвинутых. Нравится подробный разбор доказательств, логичность изложения тем. Точно чувствую больше уверенности в своих знаниях. В общем, очень хороший курс, то, что я хотела, и отдельное спасибо за возможность проходить в своём режиме, совмещая с работой и за обратную связь от преподавателей.
Михаил Шпильман
Отличный курс по математике! Очень понятные и доходчивые объяснения от авторов. Прохождение помогло «восстановить» базовые знания школьной математики – как раз такой и искал. Как итог – смог решить экзаменационные примеры, которые перед прохождением курса ничего кроме страха не вызывали) Уже рекомендовал курс знакомому, у которого тоже «боязнь» математики и желание начать её осваивать).
Глеб Аксенов
Курс proglib.academy очень понравился. Для меня ценно было то, что освещались фундаментальные темы по математике, которые я не проходил в университете. С точки зрения развития математической культуры, на мой взгляд, курс очень полезен. Понравились дополнительные занятия по ML, хорошо «разбавляют» занятия по чистой математике. Я сейчас взял перерыв, через месяц планирую продолжить. Здорово, что есть год, чтобы пройти курс.
Часто задаваемые вопросы
Остались вопросы?
Остались вопросы, вы не знаете подходит ли курс лично вам. Заполните форму, мы свяжемся с вами в ближайшее время и подробно обо всем расскажем.
Отправляя заявку, я соглашаюсь на обработку персональных данных