Онлайн-курс «Алгоритмы и структуры данных» — это интенсивная программа для разработчиков, которые хотят углубить знания в алгоритмах, научиться быстро решать сложные задачи и уверенно проходить алгоритмические собеседования в IT-компании.
Показать полностью →
За 4 месяца обучения вы разберёте базовые и продвинутые алгоритмы, освоите методы оценки сложности, научитесь эффективно работать с различными структурами данных и закрепите знания на более чем 100 практических задачах.
Курс рассчитан на специалистов, которые уже владеют одним из языков программирования: Python, Java, C++, Go, JavaScript, C#, Kotlin или Swift. Теоретические блоки чередуются с решением практических задач, финальными проектами и пробным алгоритмическим собеседованием.
Вы научитесь:
оценивать временную и пространственную сложность алгоритмов;
оптимизировать код с учётом ограничений по памяти и времени;
решать задачи с применением массивов, списков, деревьев, графов, хеш-таблиц;
применять жадные алгоритмы, рекурсию и методы динамического программирования;
строить эффективные алгоритмы работы со строками и графовыми структурами;
готовиться к алгоритмическим собеседованиям на позиции разработчиков в крупные IT-компании.
На протяжении курса вы будете получать поддержку наставников, ревьюеров и кураторов. Каждые 2 недели будут проходить вебинары и сессии вопросов-ответов. После окончания программы предусмотрено пробное алгоритмическое собеседование.
Кому подойдёт курс:
начинающим разработчикам, желающим уверенно решать алгоритмические задачи;
программистам, планирующим переход в крупные IT-компании;
специалистам, которые хотят укрепить базу знаний и повысить эффективность кодирования.
Программа онлайн-курса
1. Введение в курс и основы алгоритмов
Проект: решение первых практических задач, знакомство с системой проверки решений
— Что такое алгоритмы и зачем их изучать
— Скользящее среднее и метод двух указателей
— Оценка сложности алгоритмов (O-нотация)
— Линейный и бинарный поиск
2. Структуры данных: массивы, списки, стеки, очереди
Проект: реализация базовых структур данных и решение задач на работу с ними
— Статические и динамические массивы
— Связные списки и операции с ними
— Реализация стека, очереди и дека
3. Сортировки и рекурсия
Проект: реализация различных методов сортировки и оптимизация кода
— Принцип «Разделяй и властвуй»
— Быстрая сортировка, сортировка слиянием, сортировка подсчётом
— Рекурсивные алгоритмы
4. Хеш-таблицы и методы работы с коллизиями
Проект: создание собственной хеш-таблицы и решение задач на работу с хешированием
— Принципы построения хеш-таблиц
— Методы разрешения коллизий: цепочки, открытая адресация
5. Деревья и кучи
Проект: решение задач на построение и обход деревьев
— Двоичные деревья поиска и сбалансированные деревья
— Алгоритмы работы с кучами
— Пирамидальная сортировка
6. Алгоритмы на графах
Проект: решение задач на графы, построение оптимальных маршрутов
— Обход в ширину и глубину (BFS и DFS)
— Поиск кратчайших путей
— Минимальные остовные деревья
7. Динамическое программирование и жадные алгоритмы
Проект: построение оптимальных стратегий решения задач
— Основы динамического программирования
— Решение задач по подотрезкам, подмножествам
— Жадные алгоритмы и доказательство корректности
8. Строки и алгоритмы поиска в строках
Проект: решение задач на строки и шаблоны
— Префикс-функция и алгоритмы поиска шаблонов
— Структура данных «бор» для работы со строками
9. Пробное алгоритмическое собеседование
Проект:
— Решение задач в формате реального собеседования
— Подробная обратная связь от наставника
Карьерный трек
— Подготовка резюме
— Тренировка прохождения собеседований
— Сопровождение при трудоустройстве
Отзывы об онлайн-курсе
Отзывов ещё нет. Оставьте первый отзыв.