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

Курс для тех, кто хочет научиться работать с алгоритмами, подготовиться к собеседованию в технологическую компанию или продвинуться по карьере
Онлайн-курс от «Библиотеки программиста»
1
Интенсивная программа курса поможет держать мозг в тонусе и писать более чистый код
2
Программисты middle+ смогут потренировать забытые навыки и научатся решать сложные задачи
3
Подготовим к собеседованиям в крупные IT-компании: Яндекс, FAANG, Samsung, Amazon и т. д
Кому подходит курс?
Junior-разработчикам и тем, кто хочет стать разработчиком / устроиться на должность разработчика
Курс предназначен для тех, кто уже имеет базовые навыки в любом объектно-ориентированном языке программирования. Вы освоите как теоретический, так и практический материал.
Middle-разработчикам
Освежите свои знания по теме алгоритмов и структур данных. В курсе сделан акцент на практике - написание кода, разбор подходов в решении алгоритмических задач. Сможете выйти на новый уровень и подтянуть навыки для поступления на работы в такие крупные технологические компании, как Яндекс, Сбер, Google, Microsoft и другие.
Практика и теория
47 видеолекций и 150 практических заданий
Формат
Живые вебинары 2 раза в неделю
Поддержка
От куратора и преподавателя в течение всего обучения
Длительность
От 3 до 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
7
Сортировки
Квадратичные сортировки. Сортировка слиянием. Быстрая сортировка. Пирамидальная сортировка. std::sort. Сортировка подсчетом.
8
Порядковые статистики
Поиск медианы и порядковых статистик методом QuickSelect.
9
Деревья
Виды деревьев. Обходы в глубину и в ширину. Двоичные деревья поиска. Необходимость балансировки. АВЛ-деревья и т.д.
Хеш-таблицы
Хеш-таблицы и ассоциативный доступ. Методы разрешения коллизий. std::unordered_set, std::unordered_map.
10
11
Жадные алгоритмы. Динамическое программирование
Примеры жадных алгоритмов, их корректность. Задача о рюкзаке. Одномерная и двумерная динамика.
12
Графы
Виды графов. Представление графов. Связность. Обходы в глубину и в ширину. Сильная связность, конденсация. Поиск кратчайших путей, алгоритм Дейкстры.
Строки
Символы, кодировки, юникод. Поиск в строках – алгоритмы Рабина-Карпа и Кнута-Морриса-Пратта. Бор.
13
14
Криптография
CRC-коды, MD5, SHA.
15
Длинные числа. Итоги
16
Сортировки
Шелла, быстрая, поразрядная.
Строки
Сложные алгоритмы поиска строк. Редакционное расстояние.
17
18
Деревья
Балансированные деревья. В-деревья.
19
Графы
Остовные деревья, пути, раскраски и т.д. Интернет и графы.
20
Сжатие данных
Методы Хаффмена и Лемпель-Зива.
Динамическое программирование
Практические задачи.
21
22
NP-трудные задачи
Задача коммивояжера.
23
Эвристические алгоритмы ИИ
Степан Мацкевич
Образование: Закончил механико-математический факультет МГУ им. М.В. Ломоносова в 2006 году, защитил кандидатскую диссертацию в 2010 году.
Преподаватели
Место работы: разработчик Яндекс Go, руководитель сектора разработки сценариев организации поездок, преподаватель Факультета Инноваций и Высоких Технологий МФТИ
Образование: Старший преподаватель ФКН НИУ ВШЭ, НИТУ МИСИС, аспирант департамента анализа данных и искусственного интеллекта ФКН НИУ ВШЭ.
Место работы: Инженер-программист, ведущий эксперт НИУ ВШЭ, цифровой ассистент и цифровой консультант НИУ ВШЭ.
Мария Горденко
Стоимость полного курса
Обучение проходит на платформе Stepik. Занимайтесь в удобное время и в своем темпе. Вам будет доступен общий чат с сокурсниками и поддержка от куратора и преподавателя 24/7, а также развернутый комментарий на каждое домашнее задание.
6 месяцев
39 990 ₽
Стоимость курса
Оплата сразу после регистрации.
Цена фиксированная при оплате онлайн единым платежом.
1 908 ₽/мес
При оплате обучения в рассрочку на 12 месяцев.
19 990₽
Click to order
Total: 
Нажимая "Отправить", вы соглашаетесь с политикой конфиденциальности персональных данных.
Если вы решите, что обучение вам не подходит, мы оформим возврат денежных средств в течение 7 дней после старта обучения.
Вам понравится учиться у нас или мы вернём деньги
Отзывы учеников предыдущих курсов proglib.academy
Даниза Муссаева
По наполнению курса, который я прохожу, нравится абсолютно все, разбираются все темы, в которые мне необходимо было погрузиться. Курс скорее для продвинутых.
Отличный курс по математике! Очень понятные и доходчивые объяснения от авторов.
Михаил Шпильман
Курс proglib.academy очень понравился. Для меня ценно было то, что освещались фундаментальные темы по математике, которые я не проходил в университете.
Глеб Аксенов
C помощью курса proglib.academy я хотел освежить знания и всегда иметь возможность вернуться к качественным заданиям. Курс с этой задачей справился, так что благодарю!
Лев Аркашов
Студент курса «Математика для Data Science Pro»
По наполнению курса, который я прохожу нравится абсолютно все, разбираются все темы, в которые мне необходимо было погрузиться. Курс скорее для продвинутых. Нравится подробный разбор доказательств, логичность изложения тем. Точно чувствую больше уверенности в своих знаниях. В общем, очень хороший курс, то, что я хотела, и отдельное спасибо за возможность проходить в своём режиме, совмещая с работой и за обратную связь от преподавателей по домашнему заданию.
Даниза Муссаева
Студент курса «Введение в математику для Data Science»
Отличный курс по математике! Очень понятные и доходчивые объяснения от авторов. Прохождение помогло «восстановить» базовые знания школьной математики – как раз такой и искал. Как итог – смог решить экзаменационные примеры, которые перед прохождением курса ничего кроме страха не вызывали) Уже рекомендовал курс знакомому, у которого тоже «боязнь» математики и желание начать её осваивать).
Михаил Шпильман
Студент курса «Введение в математику для Data Science»
Курс proglib.academy очень понравился. Для меня ценно было то, что освещались фундаментальные темы по математике, которые я не проходил в университете. С точки зрения развития математической культуры, на мой взгляд, курс очень полезен. Понравились дополнительные занятия по ML, хорошо «разбавляют» занятия по чистой математике. Я сейчас взял перерыв, через месяц планирую продолжить. Здорово, что есть год, чтобы пройти курс.
Глеб Аксенов
Часто задаваемые вопросы
Остались вопросы?
Остались вопросы, вы не знаете подходит ли курс лично вам. Заполните форму, мы свяжемся с вами в ближайшее время и подробно обо всем расскажем.
Отправляя заявку, я соглашаюсь на обработку персональных данных