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

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

Skillbox
Сложность
Для продвинутых
Длительность
3 мес

Описание курса

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

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

Разберёте распространённые задачи на графах, познакомитесь с алгоритмом Дейкстры.

Узнаете, по каким принципам строятся и как работают односвязный и двусвязный списки, чем они лучше и чем хуже массивов.

Познакомитесь со структурами данных — стек, очередь и дек (двусвязная очередь), узнаете принципы их построения и работы.

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

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

Изучите принципы работы алгоритма расчёта контрольных сумм CRC и алгоритмов хеширования MD5 и SHA.

Изучите принципы построения хеш-таблиц и особенности работы с ними, познакомитесь с понятием хеш-функции, проблемой их коллизий, а также решением этой проблемы.

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

Узнаете, как работать со структурой данных куча: поймёте, как она устроена, научитесь добавлять и удалять элементы, сортировать данные внутри.

Узнаете, что такое графы и как их обходить в длину и ширину.

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

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

Познакомитесь со структурой курса, с понятиями алгоритма и структуры данных, а также с простейшими алгоритмами на массивах.

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

Познакомитесь со сложными типами деревьев, которые применяют на практике. Узнаете, как они устроены, и научитесь с ними работать.

Узнаете, что такое бинарный поиск, как он работает, почему и насколько он эффективнее простого поиска перебором, а также о его возможностях и тонкостях.

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

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

Программа курса

Введение в алгоритмы

Познакомитесь со структурой курса, с понятиями алгоритма и структуры данных, а также с простейшими алгоритмами на массивах.

Алгоритм бинарного поиска

Узнаете, что такое бинарный поиск, как он работает, почему и насколько он эффективнее простого поиска перебором, а также о его возможностях и тонкостях.

Хеш-таблицы и хеш-функции

Изучите принципы построения хеш-таблиц и особенности работы с ними, познакомитесь с понятием хеш-функции, проблемой их коллизий, а также решением этой проблемы.

Связные списки

Узнаете, по каким принципам строятся и как работают односвязный и двусвязный списки, чем они лучше и чем хуже массивов.

Стек и очередь

Познакомитесь со структурами данных — стек, очередь и дек (двусвязная очередь), узнаете принципы их построения и работы.

Основы алгоритмов сортировки

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

Рекурсивные алгоритмы

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

Сложность алгоритмов

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

Жадные алгоритмы

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

Деревья. Двоичные деревья поиска

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

Деревья. Обход в ширину и глубину

Познакомитесь со сложными типами деревьев, которые применяют на практике. Узнаете, как они устроены, и научитесь с ними работать.

Куча (Heap)

Узнаете, как работать со структурой данных куча: поймёте, как она устроена, научитесь добавлять и удалять элементы, сортировать данные внутри.

Бор. Суффиксное дерево. B-дерево

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

Графы и рекурсивные алгоритмы

Узнаете, что такое графы и как их обходить в длину и ширину.

Топологическая сортировка и неочевидные применения графов

Разберёте распространённые задачи на графах, познакомитесь с алгоритмом Дейкстры.

Алгоритмы сжатия информации

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

Битовые алгоритмы

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

Алгоритмы хеширования. Криптографические алгоритмы

Изучите принципы работы алгоритма расчёта контрольных сумм CRC и алгоритмов хеширования MD5 и SHA.

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

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

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

На каком языке программирования будут примеры реализации алгоритмов и структур данных?

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

Я смогу совмещать курс с работой? Сколько часов надо уделять занятиям?

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

Как я буду общаться с куратором?

Куратор будет проверять и комментировать практические работы, давать советы, а на вопросы ответит ментор в Telegram-чате.

Не могу оплатить курс сразу. Есть альтернативы?

Да: рассрочка. Сумму разделят на ежемесячные платежи.

Если курс не подойдёт, что делать?

Вам вернут 50% от уплаченной суммы, при условии, если вы обратитесь за возвратом денежных средств в течение 30 дней с даты предоставления доступа к модулю. По истечении 30 дней с даты предоставления доступа к модулю возврат денежных средств не осуществляется.

Получу ли я профессию после того, как пройду онлайн-курс?

После прохождения онлайн-курса от Skillbox не выдается диплом о профессиональной подготовке. Но при этом вы сможете работать по выбранному направлению: маркетологом, дизайнером или разработчиком. В первую очередь IT-компании оценивают навыки и портфолио кандидата.

Получится ли совмещать обучение в ВУЗе с онлайн-курсами?

Да, на EdTech-платформе можно заниматься в удобное время и в любом месте. Видеоматериалы со спикерами доступны даже ночью. Эксперты проверят ваши практические работы где бы вы ни находились.

Вы помогаете со стажировкой и трудоустройством?

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

Похожие курсы

Программирование
Python-разработчик
10 мес
Старт: после оплаты
ХИТ
-50%
Кешбэк 30%: 1 146 баллов
7 635 BYN
3 818 BYN
В рассрочку на 24 мес
160 BYN/мес
Программирование
Выбор из профессий направления «Разработчик». Базовый
13 мес
Старт: после оплаты
-50%
Кешбэк 30%: 1 173 балла
7 814 BYN
3 907 BYN
В рассрочку на 28 мес
140 BYN/мес
Программирование
IT-специалист с нуля
8 мес
-40%
Кешбэк 30%: 1 838 баллов
10 210 BYN
6 125 BYN
В рассрочку на 36 мес
171 BYN/мес
Программирование
Инженер по тестированию
10 мес
Старт: после оплаты
ХИТ
-50%
Кешбэк 30%: 804 балла
5 360 BYN
2 680 BYN
В рассрочку на 18 мес
149 BYN/мес
Программирование
Тестировщик на Python
9 мес
-40%
Кешбэк 30%: 1 601 балл
8 890 BYN
5 335 BYN
В рассрочку на 30 мес
178 BYN/мес
Программирование
Фронтенд-разработчик
9 мес
Старт: после оплаты
-50%
Кешбэк 30%: 1 436 баллов
9 568 BYN
4 784 BYN
В рассрочку на 28 мес
171 BYN/мес
Программирование
1С-разработчик
8 мес
Старт: после оплаты
-50%
Кешбэк 30%: 1 071 балл
7 133 BYN
3 567 BYN
В рассрочку на 24 мес
149 BYN/мес
Программирование
Профессия Специалист по кибербезопас­но­сти
12 мес
Старт: после оплаты
-50%
Кешбэк 30%: 1 525 баллов
10 165 BYN
5 083 BYN
В рассрочку на 30 мес
170 BYN/мес
Программирование
Специалист по кибербезопасности «Белый» хакер»
13 мес
-40%
Кешбэк 30%: 1 749 баллов
9 720 BYN
5 830 BYN
В рассрочку на 36 мес
162 BYN/мес
Программирование
Разработчик
12 мес
Старт: после оплаты
ХИТ
-50%
Кешбэк 30%: 1 524 балла
10 155 BYN
5 078 BYN
В рассрочку на 30 мес
170 BYN/мес
Программирование
Профессия 1С-программист
9,5 мес
-40%
Кешбэк 30%: 1 416 баллов
7 870 BYN
4 720 BYN
В рассрочку на 28 мес
169 BYN/мес
Программирование
Выбор из профессий направления «Тестировщик». Базовый
13 мес
Старт: после оплаты
-50%
Кешбэк 30%: 1 143 балла
7 616 BYN
3 808 BYN
В рассрочку на 24 мес
159 BYN/мес
Программирование
Профессия Java-разработчик
14 мес
-40%
Кешбэк 30%: 1 773 балла
9 850 BYN
5 910 BYN
В рассрочку на 36 мес
165 BYN/мес
Программирование
C++ разработчик
11 мес
-40%
Кешбэк 30%: 1 494 балла
8 300 BYN
4 980 BYN
В рассрочку на 28 мес
178 BYN/мес
Программирование
Python-разработчик
10 мес
Старт: после оплаты
-50%
Кешбэк 30%: 1 146 баллов
7 636 BYN
3 818 BYN
В рассрочку на 24 мес
160 BYN/мес
Программирование
Профессия Python-разработчик
9 мес
Старт: 16 мая
-40%
Кешбэк 30%: 1 763 балла
9 795 BYN
5 875 BYN
В рассрочку на 36 мес
164 BYN/мес
Программирование
Профессия Python-разработчик PRO
12 мес
Старт: 16 мая
-40%
Кешбэк 30%: 2 163 балла
12 015 BYN
7 210 BYN
В рассрочку на 36 мес
201 BYN/мес
Программирование
Инженер по автоматизации тестирования
9 мес
Старт: после оплаты
-50%
Кешбэк 30%: 1 239 баллов
8 258 BYN
4 129 BYN
В рассрочку на 28 мес
148 BYN/мес
Программирование
Тестировщик мобильных игр
4,5 мес
-45%
Кешбэк 5%: 132 балла
4 793 BYN
2 636 BYN
В рассрочку на 18 мес
147 BYN/мес
Программирование
Java-разработчик
8 мес
Старт: после оплаты
-50%
Кешбэк 30%: 1 272 балла
8 480 BYN
4 240 BYN
В рассрочку на 28 мес
152 BYN/мес
Программирование
DevOps-инженер
12 мес
Старт: после оплаты
-50%
Кешбэк 30%: 1 281 балл
8 534 BYN
4 267 BYN
В рассрочку на 28 мес
153 BYN/мес
Программирование
Профессия Fullstack-разработчик на Python
16 мес
-40%
Кешбэк 30%: 2 007 баллов
11 155 BYN
6 690 BYN
В рассрочку на 36 мес
186 BYN/мес
Программирование
Профессия Java-разработчик
8 мес
Старт: после оплаты
-50%
Кешбэк 30%: 1 272 балла
8 480 BYN
4 240 BYN
В рассрочку на 28 мес
152 BYN/мес
Программирование
Разработчик на C++
7 мес
Старт: после оплаты
-50%
Кешбэк 30%: 1 475 баллов
9 828 BYN
4 914 BYN
В рассрочку на 30 мес
164 BYN/мес
Программирование
Frontend-разработчик - веб-разработчик
9 мес
Старт: после оплаты
-50%
Кешбэк 30%: 1 436 баллов
9 568 BYN
4 784 BYN
В рассрочку на 30 мес
160 BYN/мес
Программирование
DevOps-инженер
12 мес
Старт: после оплаты
-50%
Кешбэк 30%: 1 948 баллов
12 985 BYN
6 493 BYN
В рассрочку на 30 мес
217 BYN/мес
Программирование
Архитектор ПО
4 мес
Старт: после оплаты
ХИТ
-50%
Кешбэк 30%: 814 баллов
5 423 BYN
2 712 BYN
В рассрочку на 18 мес
151 BYN/мес
Программирование
Профессия Android-разработчик
16 мес
-40%
Кешбэк 30%: 2 040 баллов
11 330 BYN
6 800 BYN
В рассрочку на 36 мес
189 BYN/мес
Программирование
PHP-разработчик с нуля до PRO
7 мес
Старт: после оплаты
-50%
Кешбэк 30%: 1 176 баллов
7 840 BYN
3 920 BYN
В рассрочку на 24 мес
164 BYN/мес
Программирование
DevOps-инженер 2.0
7 мес
Старт: после оплаты
-50%
Кешбэк 30%: 1 281 балл
8 533 BYN
4 267 BYN
В рассрочку на 28 мес
153 BYN/мес
ООО «Байскилз», УНП 193454177
220012, Республика Беларусь, г. Минск, ул. Толбухина, 2, пом.19
Свидетельство о государственной регистрации №193454177 от 06.08.2020 выдано Минским горисполкомом
© ООО «Байскилз», 2025
Visa Secure
Mastercard ID Check
Белкарт Интернет Пароль
MasterCard
Visa
МТБанк
Apple Pay
Alfa Pay
Samsung Pay
ЕРИП
Белкарт
BePaid
Oplati
Webpay
© ООО «Байскилз», 2025