Алгоритмы и структуры данных для разработчиков
Научитесь работать с алгоритмами разного уровня сложности: от простейших до криптографических. Разберётесь, как работать с разными структурами данных: связными списками, суффиксными деревьями, графами и другими. Выясните, как оценить сложность алгоритма, оптимизировать и ускорять программный код.
- Длительность 3 мес
- Академические знания в удобном онлайн-формате
- Постепенное увеличение сложности
- Доступ к курсу навсегда
Кому подойдёт курс
- Разработчикам уровня junior
Узнаете, как создавать и применять алгоритмы. Научитесь оценивать их сложность.
- Разработчикам уровня middle
Изучите варианты алгоритмов: битовые, рекурсивные, криптографические, алгоритмы сжатия информации и сортировки. Поймёте, как работать над проектами с высоконагруженными системами.
- Участникам олимпиад
Выясните, как работать с базовыми алгоритмами и структурами данных.
Чему вы научитесь
- Работе с базовыми алгоритмами
Узнаете, как реализовать простейший алгоритм на массиве. Поймёте отличие алгоритма бинарного поиска от поиска перебором. Научитесь строить хэш-таблицы.
- Работе со структурами данных
Выясните, какие бывают структуры данных: от связных списков до графов.
- Разбираться в вариантах алгоритмов
Изучите разные варианты алгоритмов: рекурсивные, жадные, сортировка выбором или слиянием, быстрая сортировка.
- Оценке алгоритмов
Узнаете, как определить сложность алгоритма. Разберётесь, как оптимизировать и ускорять код.
Как проходит обучение на платформе
Содержание курса
Вас ждут 18 тематических модулей. Изучите алгоритмы: рекурсивные, жадные, битовые, сжатия информации, бинарного поиска, сортировки и хэширования. Поймёте, как работать со структурами данных.
- 3 месяца обучения
- 18 тематических модулей
-
Введение в алгоритмы
Познакомитесь со структурой курса, с понятиями алгоритма и структуры данных, а также с простейшими алгоритмами на массивах.
-
Алгоритм бинарного поиска
Узнаете, что такое бинарный поиск, как он работает, почему и насколько он эффективнее простого поиска перебором, а также о его возможностях и тонкостях.
-
Хеш-таблицы и хеш-функции
Изучите принципы построения хеш-таблиц и особенности работы с ними, познакомитесь с понятием хеш-функции, проблемой их коллизий, а также решением этой проблемы.
-
Связные списки
Узнаете, по каким принципам строятся и как работают односвязный и двусвязный списки, чем они лучше и чем хуже массивов.
-
Стек и очередь
Познакомитесь со структурами данных — стек, очередь и дек (двусвязная очередь), узнаете принципы их построения и работы.
-
Основы алгоритмов сортировки
Узнаете о принципах и особенностях популярных алгоритмов сортировки — SelectionSort, QuickSort и MergeSort. Научитесь оценивать на их примерах сложность алгоритмов по времени и памяти.
-
Рекурсивные алгоритмы
Научитесь создавать и применять рекурсивные алгоритмы, а также познакомитесь с принципами оценки их сложности.
-
Сложность алгоритмов
Узнаете, что такое О-нотация, научитесь оценивать сложность алгоритмов и различать их по памяти и времени.
-
Жадные алгоритмы
Познакомитесь с принципами работы жадных алгоритмов на примере итераций с двумя и тремя индексами, а также алгоритмов на строках.
-
Деревья. Двоичные деревья поиска
Узнаете о принципах работы и особенностях деревьев на примере бинарного дерева. Познакомитесь с алгоритмами поиска, добавления и удаления элементов из него.
-
Деревья. Обход в ширину и глубину
Познакомитесь со сложными типами деревьев, которые применяют на практике. Узнаете, как они устроены, и научитесь с ними работать.
-
Куча (Heap)
Узнаете, как работать со структурой данных куча: поймёте, как она устроена, научитесь добавлять и удалять элементы, сортировать данные внутри.
-
Бор. Суффиксное дерево. B-дерево
Узнаете, что такое суффиксные деревья и как они применяются в алгоритмах поиска и сжатия.
-
Графы и рекурсивные алгоритмы
Узнаете, что такое графы и как их обходить в длину и ширину.
-
Топологическая сортировка и неочевидные применения графов
Разберёте распространённые задачи на графах, познакомитесь с алгоритмом Дейкстры.
-
Алгоритмы сжатия информации
Изучите алгоритмы сжатия информации без потерь. Узнаете, по каким принципам работают современные алгоритмы архивации, а также какие алгоритмы используются для сжатия аудиофайлов и изображений.
-
Битовые алгоритмы
Научитесь работать с основными битовыми операциями и алгоритмами, которые часто применяют на практике. Изучите маски и битовые индексы.
-
Алгоритмы хеширования. Криптографические алгоритмы
Изучите принципы работы алгоритма расчёта контрольных сумм CRC и алгоритмов хеширования MD5 и SHA.
Спикеры
- Михаил Овчинников
Ведущий разработчик в Badoo. Стаж в разработке: 10+ лет
- Илья Павлов
Разработчик в NVIDIA, опыт в IT — 7 лет
- Анна Коптева
Инженер-разработчик в Яндексе. Опыт в IT — более 6 лет
Часто задаваемые вопросы
-
Для прохождения курса требуются специальные знания?
Достаточно понимания, что такое массив и как с ним работать. Содержание курса рассчитано на слушателей любого уровня подготовки. -
На каком языке программирования будут примеры реализации алгоритмов и структур данных?
В видеолекциях примеры будут на Java. Кроме того, к лекциям будут приложены примеры ещё на восьми языках: Python, JavaScript, PHP, C#, Go, C++, Swift, Kotlin. -
Я смогу совмещать курс с работой? Сколько часов надо уделять занятиям?
Да, совмещать учебу и работу получится, потому что вы решаете, когда смотреть уроки. В среднем студенты Skillbox уделяют учебе от трёх до пяти часов в неделю. -
Как я буду общаться с куратором?
Куратор будет проверять и комментировать практические работы, давать советы, а на вопросы ответит ментор в Telegram-чате. -
Не могу оплатить курс сразу. Есть альтернативы?
Да: рассрочка. Сумму разделят на ежемесячные платежи. -
Если курс не подойдёт, что делать?
Вам вернут 50% от уплаченной суммы, при условии, если вы обратитесь за возвратом денежных средств в течение 30 дней с даты предоставления доступа к модулю. По истечении 30 дней с даты предоставления доступа к модулю возврат денежных средств не осуществляется. -
Получу ли я профессию после того, как пройду онлайн-курс?
После прохождения онлайн-курса от Skillbox не выдается диплом о профессиональной подготовке. Но при этом вы сможете работать по выбранному направлению: маркетологом, дизайнером или разработчиком. В первую очередь IT-компании оценивают навыки и портфолио кандидата. -
Получится ли совмещать обучение в ВУЗе с онлайн-курсами?
Да, на EdTech-платформе можно заниматься в удобное время и в любом месте. Видеоматериалы со спикерами доступны даже ночью. Эксперты проверят ваши практические работы где бы вы ни находились. -
Вы помогаете со стажировкой и трудоустройством?
Наши партнеры помогут составить резюме, оформить портфолио, подготовиться к собеседованию и первому рабочему дню.
- Астана
- Ташкент
- Кишинев
- Минск
- Бишкек
- Москва
- Ереван
- Баку
- Брест
- Витебск
- Гомель
- Гродно
- Могилев
- Бобруйск
- Барановичи
- Алматы
- Шымкент
- Наманган
- Самарканд
- Кишинев
- Тирасполь
- Бельцы
Отзывы участников
По итогу 9-месячной учёбы стал по-другому смотреть на сайты. Замечаю баги, разбираюсь в вёрстке, веду репорты. Узнал, как работать со специфическим ПО.
Уже сейчас нисколько не жалею, что выбрал Skillbox. Спасибо!!!
Ну, и умение верстать журналы! Теперь я, как самый настоящий графический дизайнер, с лёгкостью могу создать разворот какого-нибудь модного журнала.
6 отзывов