Образовательная платформа
Изображение для плашки НГ Участвует в новогодней распродаже Скидки до 60%
действуют 0 дней 00:00:00

Оставьте заявку и узнайте у менеджера про скидку на курс и подарки от партнёров

Курс

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

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

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

Кому подойдёт этот курс

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

  1. Освоите базовые алгоритмы

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

  2. Работать со структурами данных

    Научитесь работать с различными структурами данных: связными списками, очередями, стэками, двусторонними очередями (деками), кучами, бинарными, B-, R- и суффиксными деревьями, а также различными видами графов.

  3. Познакомитесь с вариантами алгоритмов

    Научитесь реализовывать алгоритмы сортировки SelectionSort, QuickSort и MergeSort, сможете создавать и применять рекурсивные и жадные алгоритмы.

  4. Поймете, как оценивать сложность алгоритмов

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

Как пользоваться платформой

  1. Изучаете тему

    В курсе — практические видеоуроки.

    Изучаете тему
  2. Выполняете задания

    В том темпе, в котором вам удобно.

    Выполняете задания
  3. Работаете с преподавателем

    Закрепляете знания и исправляете ошибки.

    Работаете с преподавателем
  4. Получаете сертификат

    И дополняете им своё портфолио.

    Получаете сертификат

Программа

Вас ждут онлайн-лекции и практические задания.

  • 18 тематических модулей
  • 103 онлайн-урока
  1. Введение в алгоритмы

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

  2. Алгоритм бинарного поиска

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

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

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

  4. Связные списки

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

  5. Стек и очередь

    Познакомитесь со структурами данных — стек, очередь и дек (двусвязная очередь), узнаете принципы их построения и работы.

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

    Узнаете о принципах и особенностях популярных алгоритмов сортировки — SelectionSort, QuickSort и MergeSort. Научитесь оценивать на их примерах сложность алгоритмов по времени и памяти.

  7. Рекурсивные алгоритмы

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

  8. Сложность алгоритмов и О-нотация

    Узнаете, что такое О-нотация, научитесь оценивать сложность алгоритмов и различать их по памяти и времени.

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

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

  10. Деревья. Двоичные деревья поиска

    Узнаете о принципах работы и особенностях деревьев на примере бинарного дерева. Познакомитесь с алгоритмами поиска, добавления и удаления элементов из него.

  11. Деревья. Обход в ширину и глубину

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

  12. Куча (Heap)

    Изучите основные принципы балансировки деревьев. Познакомитесь со структурой данных «куча».

  13. Бор. Суффиксное дерево. B-дерево

    Узнаете, что такое суффиксные деревья и как они применяются в алгоритмах поиска и сжатия.

  14. Графы и рекурсивные алгоритмы

    Узнаете, какие бывают графы, что такое ребро, вершина, взвешенный и ориентированный граф.

  15. Топологическая сортировка и неочевидные применения графов

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

  16. Алгоритмы сжатия информации

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

  17. Битовые алгоритмы

    Научитесь работать с основными битовыми операциями и алгоритмами, которые часто применяют на практике. Изучите маски и битовые индексы.

  18. Алгоритмы хэширования. Криптографические алгоритмы.

    Изучите принципы работы алгоритма расчёта контрольных сумм CRC и алгоритмов хэширования MD5 и SHA. Познакомитесь с алгоритмами симметричного и асимметричного шифрования, а также популярными алгоритмами RSA и AES.

Спасибо!

Ваша заявка успешно отправлена

Преподаватели

Михаил Овчинников

Михаил
Овчинников

Главный методист технического направления Skillbox

Специалист в области разработки высоконагруженных систем и обработки больших данных. Докладчик крупнейших IT-конференций России. Более 15 лет опыта в IT — от стартапов до крупных компаний.

Илья Павлов

Илья
Павлов

Разработчик в Nvidia

Специалист в области алгоритмов и структур данных. Проходил стажировку в главных офисах Microsoft и Asana. Занимался исследованиями в области алгоритмов в Huawei. Работал над поиском в Яндексе. Преподаёт в МФТИ.

  • Старт курса: 5 декабря
  • Осталось: 8 мест

Стоимость обучения

Рассрочка без переплат

  • 100 BYN/мес
  • 125 BYN/мес
Изображение для плашки НГ Участвует в новогодней распродаже Скидки до 60%
действуют 0 дня 00:00:00

Оставьте заявку и узнайте у менеджера про скидку на курс и подарки от партнёров

Заявка не отправлена!

Похоже произошла ошибка. Попробуйте отправить снова или перезагрузите страницу.

Шаг 1. Выберите вариант оплаты

Шаг 2. Заполните контактные данные

  • Error
  • Error
  • Error
Error

Нажимая на кнопку, я соглашаюсь на обработку персональных данных

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

Спасибо!

Ваша заявка успешно отправлена

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