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