Skillbox

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

  • Начальный уровень
  • Наставник: Нет
  • Сертификат: Есть
  • Формат: Online
  • Рассрочка: Нет
  • Язык: Русский
  • Осталось мест: не ограничено
Записаться

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

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

Поможем найти работу твоей мечты!

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

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

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

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

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

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

  • Связные списки

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

  • Стек и очередь

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

  • Основы алгоритмов сортировки

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

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

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

  • Сложность алгоритмов

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

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

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

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

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

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

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

  • Куча (Heap)

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

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

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

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

    Узнаете, что такое графы и как их обходить в длину и ширину.

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

    Разберёте распространённые задачи на графах, познакомитесь с алгоритмом Дейкстры.

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

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

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

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

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

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

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

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

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

  • Илья Павлов

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

  • Анна Коптева

    Опыт в сфере — более 6 лет. Работала над проектами Яндекс.Браузер, Яндекс.Игры и Messaging для Mary Kay. Принимала участие в разработке точки входа в экосистему продуктов МТС в МТС Digital. Приглашённый лектор в МГТУ им. Баумана, эксперт и судья на хакатоне Hack<123.

Каких навыков вам не хватает?