Программирование
Для продвинутых
Skillbox: Алгоритмы и структуры данных для разработчиков
Курс универсальных знаний для программистов научит вас решать любые задачи разработчика с помощью алгоритмов. Программа рассчитана на практикующих специалистов и студентов технических вузов. Курс полезен разработчикам на языках ООП, в том числе Go.

Начало обучения
В любое время
Стоимость обучения
от 4 862 руб/мес..
Срок обучения
3 (мес.)
Уровень
Для продвинутых
Длительность – 3 месяца, стоимость – 4 862 руб/мес. при рассрочке на 12 месяцев.
Программа: состоит из 18 уроков-модулей. Вы углубленно изучите алгоритмы и структуры данных в теории и на практике.
Чему научитесь:
- Изучите основные алгоритмы и хэш-таблицы;
- Освоите алгоритмы разных типов;
- Использовать структуры данных;
- Оценивать, оптимизировать и ускорять программный код.


Как проходит обучение:
- Курс записан в формате видеоуроков и доступен в любое время после оплаты.
- К каждой теоретической лекции предусмотрена практика в виде упражнений.
- Домашние задания проверяет ментор и дает обратную связь.
- В финале вы пишите проверочную работу и получаете сертификат.
Бонусы: доступ к контенту курса навсегда, сертификат.
Программа курса
Введение в алгоритмы и структуры данных
Познакомитесь со структурой курса, с понятиями алгоритма и структуры данных, а также с простейшими алгоритмами на массивах.
Алгоритм бинарного поиска
Узнаете, что такое бинарный поиск, как он работает, почему и насколько он эффективнее простого поиска перебором, а также о его возможностях и тонкостях.
Хеш-таблицы и хеш-функции
Изучите принципы построения хеш-таблиц и особенности работы с ними, познакомитесь с понятием хеш-функции, проблемой их коллизий, а также решением этой проблемы.
Связные списки
Узнаете, по каким принципам строятся и как работают односвязный и двусвязный списки, чем они лучше и чем хуже массивов.
Стек и очередь
Познакомитесь со структурами данных — стек, очередь и дек (двусвязная очередь), узнаете принципы их построения и работы.
Основы алгоритмов сортировки
Узнаете о принципах и особенностях популярных алгоритмов сортировки — SelectionSort, QuickSort и MergeSort. Научитесь оценивать на их примерах сложность алгоритмов по времени и памяти.
Рекурсивные алгоритмы
Научитесь создавать и применять рекурсивные алгоритмы, а также познакомитесь с принципами оценки их сложности.
Сложность алгоритмов
Узнаете, что такое О-нотация, научитесь оценивать сложность алгоритмов и различать их по памяти и времени.
Жадные алгоритмы
Познакомитесь с принципами работы жадных алгоритмов на примере итераций с двумя и тремя индексами, а также алгоритмов на строках.
Деревья. Двоичные деревья поиска
Узнаете о принципах работы и особенностях деревьев на примере бинарного дерева. Познакомитесь с алгоритмами поиска, добавления и удаления элементов из него.
Деревья. Обход в ширину и глубину
Познакомитесь со сложными типами деревьев, которые применяют на практике. Узнаете, как они устроены, и научитесь с ними работать.
Куча (Heap)
Узнаете, как работать со структурой данных куча: поймёте, как она устроена, научитесь добавлять и удалять элементы, сортировать данные внутри.
Бор. Суффиксное дерево. B-дерево
Узнаете, что такое суффиксные деревья и как они применяются в алгоритмах поиска и сжатия.
Графы и рекурсивные алгоритмы
Узнаете, что такое графы и как их обходить в длину и ширину.
Топологическая сортировка и неочевидные применения графов
Разберёте распространённые задачи на графах, познакомитесь с алгоритмом Дейкстры.
Алгоритмы сжатия информации
Изучите алгоритмы сжатия информации без потерь. Узнаете, по каким принципам работают современные алгоритмы архивации, а также какие алгоритмы используются для сжатия аудиофайлов и изображений.
Битовые алгоритмы
Научитесь работать с основными битовыми операциями и алгоритмами, которые часто применяют на практике. Изучите маски и битовые индексы.
Алгоритмы хеширования. Криптографические алгоритмы
Изучите принципы работы алгоритма расчёта контрольных сумм CRC и алгоритмов хеширования MD5 и SHA.