Образовательная платформа
Участвует в распродаже Скидка 15%
действует 0 дней 00:00:00
Курс

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

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

Научитесь работать с алгоритмами разного уровня сложности: от простейших до криптографических. Разберётесь, как работать с разными структурами данных: связными списками, суффиксными деревьями, графами и другими. Выясните, как оценить сложность алгоритма, оптимизировать и ускорять программный код.

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

  • Разработчикам уровня junior Разработчикам уровня junior

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

  • Разработчикам уровня middle Разработчикам уровня middle

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

  • Участникам олимпиад Участникам олимпиад

    Выясните, как работать с базовыми алгоритмами и структурами данных.

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

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

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

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

    Выясните, какие бывают структуры данных: от связных списков до графов.

  3. Разбираться в вариантах алгоритмов

    Изучите разные варианты алгоритмов: рекурсивные, жадные, сортировка выбором или слиянием, быстрая сортировка.

  4. Оценке алгоритмов

    Узнаете, как определить сложность алгоритма. Разберётесь, как оптимизировать и ускорять код.

Как проходит обучение на платформе

  • Иллюстрация этапа обучения Регистрация

    Знакомитесь с платформой

    Платформа Skillbox — собственная разработка компании, которую мы постоянно улучшаем. Вас ждут видео, практические задания и общение с кураторами. Доступ к материалам откроется сразу после покупки курса.

  • Иллюстрация этапа обучения Теория

    Получаете знания

    Курсы состоят из тематических видео разной длительности. Смотрите их когда и где угодно. Доступ бессрочный, чтобы вы всегда могли вернуться и повторить теорию.

  • Иллюстрация этапа обучения Практика

    Выполняете задания

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

  • Иллюстрация этапа обучения Обратная связь

    Работаете с куратором

    Проверкой заданий занимаются кураторы. Это эксперты по теме курса. Они помогут с трудными задачами и подскажут, как улучшить ваши проекты. Общаться с проверяющими кураторами можно прямо на платформе.

Содержание курса

Вас ждут 18 тематических модулей. Изучите алгоритмы: рекурсивные, жадные, битовые, сжатия информации, бинарного поиска, сортировки и хэширования. Поймёте, как работать со структурами данных.

  • 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.

Спикеры

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

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

Ведущий инженер-программист в Badoo

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

Илья Павлов

Илья
Павлов

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

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

Анна Коптева

Анна
Коптева

Инженер-разработчик в Яндексе

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

Отзывы участников

  • Отзывы студентов

    Иван Медведев г. Ивантеевка

    Курс «Профессия Инженер по тестированию»
    Если какой-то материал тяжело даётся, есть вопрос по ДЗ, достаточно написать преподавателю, который поможет разобраться с информацией и подскажет, как решить задачу.
    По итогу 9-месячной учёбы стал по-другому смотреть на сайты. Замечаю «баги», разбираюсь в вёрстке, веду репорты. Узнал, как работать со специфическим ПО.
    Уже сейчас нисколько не жалею, что выбрал Skillbox. Спасибо!!!
  • Отзывы студентов

    Валентина Нарушевич г. Санкт-Петербург

    Курс «Графический дизайнер с нуля до PRO»
    Благодаря курсу я научилась создавать классные постеры и векторные изображения. Также мой список новых скилов пополнили ретушь и обтравка изображений — одни из главных навыков профессионального графического дизайнера.
    Ну, и умение верстать журналы! Теперь я, как самый настоящий графический дизайнер, с лёгкостью могу создать разворот какого-нибудь модного журнала.
  • Отзывы студентов

    Яна Щербицкая г. Санкт-Петербург

    Курс «Photoshop с нуля до PRO»
    Курс очень круто структурирован, там есть все знания, которые мне нужны, чтобы освоить программу. Сама бы я точно что-нибудь пропустила.
    Преподаватели всё спокойно и терпеливо объясняют. Если ты что-то не понял, снимут дополнительный видеоролик и покажут ещё раз.
    Самое крутое в курсах Skillbox — постоянная связь с теми, кто подскажет, как правильно.
  • Отзывы студентов

    Алла Комиссаренко

    Курс «UX-дизайнер с нуля до PRO»
    Работать дизайнером мне очень нравится, от UX я вообще в восторге, тяга к аналитике у меня была всегда. После долгих поисков работы в новой сфере подруга помогла мне получить заказ на редизайн сайта большой компании.
    Отдельно хочу сказать спасибо куратору Александру Свободе, он очень подробно расписывал все недочёты и ошибки решений в дизайне.
  • Отзывы студентов

    Елена Кальво г. Ницца, Франция

    Курс «Копирайтинг от А до Я»
    «Почему бы не сделать из хобби источник заработка?» — однажды подумала я.
    Недолго размышляя, записалась на курс в Skillbox и встала в ряд претендентов на гордое звание копирайтера.
    Работа с текстом помогла мне вернуть свою жизнь, вдохновила. Я начала снова ухаживать за собой, читать. Увидела, что я не только мать, но и писатель.

  • Отзывы студентов

    Ирина Семёнова г. Бельцы, Молдова

    Курс «SMM-специалист»
    Я узнала, что такое охваты, KPI и прочие слова, которые раньше пугали. Поняла, что чем проще и понятнее, тем лучше. Разобралась в сложной иерархии рекламного кабинета и научилась настраивать аудиторию и рекламу.

    Я уже в теме и не боюсь назвать своих более опытных друзей коллегами.
  • Старт курса: 29 сентября
  • Осталось: 6 мест

Стоимость курса

  • Курс в подарок
  • Длительность рассрочки — 12 месяцев
  • Год английского бесплатно
  • 153 BYN/мес
  • 180 BYN/мес
Участвует в распродаже 0 дня 00:00:00

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

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

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

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

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

Спасибо!

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

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

  • Для прохождения курса требуются специальные знания?

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

    В видеолекциях примеры будут на Java. Кроме того, к лекциям будут приложены примеры ещё на восьми языках: Python, JavaScript, PHP, C#, Go, C++, Swift, Kotlin.
  • Я смогу совмещать курс с работой? Сколько часов надо уделять занятиям?

    Да, совмещать учебу и работу получится, потому что вы решаете, когда смотреть уроки. В среднем студенты Skillbox уделяют учебе от трёх до пяти часов в неделю.
  • Как я буду общаться с куратором?

    Куратор будет проверять и комментировать практические работы, давать советы, а на вопросы ответит ментор в Telegram-чате.
  • Не могу оплатить курс сразу. Есть альтернативы?

    Да: рассрочка. Сумму разделят на ежемесячные платежи.
  • Мне вернут деньги, если курс не понравится?

    Да. Сумму рассчитывают в соответствии с вашим прогрессом в обучении и публичным договором. Альтернативный вариант: заменить курс на другой.