Мы используем cookie для стабильной работы сервиса. Подробнее

Алгоритмы и структуры данных от А до Я

ФорматОнлайн
Объём15 занятий
О курсе

Подробнее

В этом курсе мы пройдём основные алгоритмы и структуры данных. Примеры кода написаны на C#, однако 99% материала будет ясно любому Java-программисту, поскольку синтаксис языков очень схож, а примеры кода алгоритмов и структур данных так вообще будут почти полностью совпадать и в C# и в Java. В курсе есть лишь несколько лекций посвящённых исключительно библиотекам C#. Зачем изучать алгоритмы и структуры данных? Алгоритмы и структуры данных составляют основы программирования. Понимание алгоритмов и структур данных – одно из самых важных требований для устройства на работу в хорошие компании. Вам придётся решать множество задач на собеседованиях связанных с алгоритмами и структурами данных. Действительно, вы, конечно, сможете прожить и без понимания алгоритмов и структур данных. Однако, вы сможете так спокойно жить до тех пор, пока вы не встретитесь с реальной проблемой, решение которой потребует грамотного выбора подходящей структуры данных или потребует кастомизации известных алгоритмов. Если вы никогда не сталкивались с подобными проблемами, то, поверьте, это всего лишь вопрос времени. Однажды, вы столкнётесь с такой проблемой и при отсутствии глубокого понимания структур данных и алгоритмов, вы почувствуете себя опозоренным и беспомощным. Вы застрянете. Слабость понимания алгоритмов и структур данных сильно понижает ваши шансы пройти собеседование в хорошую компанию. Почти все компании предпочитают нанимать разработчиков, хорошо разбирающихся в алгоритмах и структурах данных. Запомните это. Не откладывайте изучение фундаментальных концепций. Более мощное «железо» – не всегда хорошее/доступное решение проблем связанных с производительностью. Иногда, возникает необходимость разрабатывать программы для очень низко производительных устройств. Использование какого-либо железа зачастую так же зависит от бюджета заказчика, поэтому далеко не всегда выбор железа диктуется разработчиком. Понимание того, что происходит «под капотом» весьма желательно. Хотя бы на один уровень в глубину. Действительно, если вы не понимаете как устроен список, иногда вы будете принимать не оптимальные или вообще неверные решения. Почему этот курс? Вы можете меня спросить «почему я должен взять именно ваш курс»? И вот мой ответ: этот курс покрывает множество тем я старался сделать этот курс не слишком сухим курс посвящён не только алгоритмам и структурам данных, но также освящает внутреннее устройство структур данных и алгоритмов встроенных в основную библиотеку классов .NET (библиотека классов в .NET Core в плане структур данных и алгоритмов устроена точно так же) курс практический с домашними заданиями и решениями курс поможет вам пройти технические собеседования курс сделан профессиональным разработчиком с большим реальным опытом и множество др. причин :) Что внутри курса? На данный момент курс покрывает следующие темы: Введение в алгоритмы и структуры данных: структура данных, абстрактный тип данных, разница между этими понятиями. Что такое алгоритм и почему всё это для нас важно? Введение в анализ алгоритмов: сколько времени займёт исполнение программы, построение log-log графика, аппроксимации, порядок роста сложности (Big-O нотация), потребление памяти Зачисляйтесь на курс и вы не пожалеете! Не забывайте, что Udemy даёт 30 дней на возврат денежных средств, так что даже если вам курс не понравится – вы ничем не рискуете, всегда можно вернуть деньги парой кликов.  
Требования

Что нужно для старта

  • Знание C# или Java на базовом уровне
  • Из инструментов достаточно Visual Studio Community Edition
Аудитория

Для кого этот курс

  • - C#-разработчики, которые хотят изучить алгоритмы и структуры данных на их любимом языке
  • - Начинающие разработчики, которые готовятся к поиску работы
Содержание

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

15 занятий
ТемаЧто внутри
01Материалы и коммюнити

- Исходный код курса

02Введение в алгоритмы и структуры данных

- Введение в структуры данных
- Введение в алгоритмы

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

- Временная сложность
- Строим log-log график. Прогнозируем время работы алгоритма.
- Аппроксимации
- Порядок роста

04Массивы

- Обзор массивов в C#
- Массивы в памяти
- Временная сложность операций на массиве
- Операции на массивах в C#

05Алгоритмы сортировки

- Пузырьковая сортировка (теория)
- Пузырьковая сортировка (реализация)
- Устойчивость (стабильность) алгоритма сортировки
- Сортировка выборкой (теория)
- Сортировка выборкой (реализация)
- Сортировка вставками (теория)
- Сортировка вставками (реализация)
- Рекурсия
- Сортировка Шелла (теория)
- Сортировка Шелла (реализация)
- Сортировка слияниями (теория)
- Сортировка слияниями (реализация)
- Быстрая сортировка (теория)
- Быстрая сортировка (реализация)

06Списки

- Тип List в BCL
- Узел (Node) - базовый строительный блок
- Связные списки
- Односвязный список (теория)
- Односвязный список (реализация)
- Двусвязный список (теория)
- Двусвязный список (реализация)
- Тип LinkedList в BCL

07Стек (Stack)

- Стек (теория)
- Реализация стека (на массиве)
- Реализация стека (на связном списке)
- Стек из BCL. Характеристики стека

08Очередь (Queue)

- Очередь (теория)
- Реализация очереди (на массиве)
- Кольцевая очередь (теория)
- Кольцевая очередь (реализация)
- Реализация очереди (на связном списке)
- Тип Queue в BCL

09Алгоритмы поиска

- Линейный поиск
- Бинарный поиск (реализация)

10Символьные таблицы

- Введение в символьные таблицы
- API символьных таблиц
- Последовательный поиск (тривиальный подход)
- Последовательный поиск: ДЗ
- Последовательный поиск: решение ДЗ
- Символьная таблица на бинарном поиске
- Символьная таблица на бинарном поиске: ДЗ
- Символьная таблица на бинарном поиске: решение ДЗ
- Заключение

11Cимвольные таблицы и Хеширование (Хеш-таблицы)

- Введение в хеш-таблицы
- Хеширование в примитивных типах и GetHashCode
- GetHashCode в ссылочных типах и типах-значениях
- Разрешение коллизий
- Метод раздельных цепочек
- Метод раздельных цепочек: ДЗ
- Метод раздельных цепочек: решение ДЗ
- Метод линейного пробирования
- Словари в BCL
- Множества. Множества в BCL

12Деревья

- Введение в деревья
- Двоичное дерево поиска (Binary Search Tree - BST)
- Простая реализация BST. Часть 1
- Простая реализация BST. Часть 2
- Операция удаления в BST (теория)
- Операция удаления в BST (реализация)

13Пирамида и пирамидальная сортировка

- Определение пирамиды
- Пирамида и массив
- Операция вставки (теория)
- Реализация пирамиды
- Операция удаления (теория)
- Операция удаления (реализация). Реализация Peek.
- Характеристики операций на пирамиде
- Пирамидальная сортировка (теория)
- Пирамидальная сортировка (реализация)

14Различные алгоритмы

- Решето Эратосфена

15Бонус

Подробности будут доступны на странице курса

01Материалы и коммюнити

- Исходный код курса

02Введение в алгоритмы и структуры данных

- Введение в структуры данных
- Введение в алгоритмы

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

- Временная сложность
- Строим log-log график. Прогнозируем время работы алгоритма.
- Аппроксимации
- Порядок роста

04Массивы

- Обзор массивов в C#
- Массивы в памяти
- Временная сложность операций на массиве
- Операции на массивах в C#

05Алгоритмы сортировки

- Пузырьковая сортировка (теория)
- Пузырьковая сортировка (реализация)
- Устойчивость (стабильность) алгоритма сортировки
- Сортировка выборкой (теория)
- Сортировка выборкой (реализация)
- Сортировка вставками (теория)
- Сортировка вставками (реализация)
- Рекурсия
- Сортировка Шелла (теория)
- Сортировка Шелла (реализация)
- Сортировка слияниями (теория)
- Сортировка слияниями (реализация)
- Быстрая сортировка (теория)
- Быстрая сортировка (реализация)

06Списки

- Тип List в BCL
- Узел (Node) - базовый строительный блок
- Связные списки
- Односвязный список (теория)
- Односвязный список (реализация)
- Двусвязный список (теория)
- Двусвязный список (реализация)
- Тип LinkedList в BCL

07Стек (Stack)

- Стек (теория)
- Реализация стека (на массиве)
- Реализация стека (на связном списке)
- Стек из BCL. Характеристики стека

08Очередь (Queue)

- Очередь (теория)
- Реализация очереди (на массиве)
- Кольцевая очередь (теория)
- Кольцевая очередь (реализация)
- Реализация очереди (на связном списке)
- Тип Queue в BCL

09Алгоритмы поиска

- Линейный поиск
- Бинарный поиск (реализация)

10Символьные таблицы

- Введение в символьные таблицы
- API символьных таблиц
- Последовательный поиск (тривиальный подход)
- Последовательный поиск: ДЗ
- Последовательный поиск: решение ДЗ
- Символьная таблица на бинарном поиске
- Символьная таблица на бинарном поиске: ДЗ
- Символьная таблица на бинарном поиске: решение ДЗ
- Заключение

11Cимвольные таблицы и Хеширование (Хеш-таблицы)

- Введение в хеш-таблицы
- Хеширование в примитивных типах и GetHashCode
- GetHashCode в ссылочных типах и типах-значениях
- Разрешение коллизий
- Метод раздельных цепочек
- Метод раздельных цепочек: ДЗ
- Метод раздельных цепочек: решение ДЗ
- Метод линейного пробирования
- Словари в BCL
- Множества. Множества в BCL

12Деревья

- Введение в деревья
- Двоичное дерево поиска (Binary Search Tree - BST)
- Простая реализация BST. Часть 1
- Простая реализация BST. Часть 2
- Операция удаления в BST (теория)
- Операция удаления в BST (реализация)

13Пирамида и пирамидальная сортировка

- Определение пирамиды
- Пирамида и массив
- Операция вставки (теория)
- Реализация пирамиды
- Операция удаления (теория)
- Операция удаления (реализация). Реализация Peek.
- Характеристики операций на пирамиде
- Пирамидальная сортировка (теория)
- Пирамидальная сортировка (реализация)

14Различные алгоритмы

- Решето Эратосфена

15Бонус
Организатор

Автор курса

StepikStepik
Stepik — образовательная платформа и конструктор онлайн-курсов. Мы разрабатываем алгоритмы адаптивного обучения, сотрудничаем с авторами MOOC, помогаем в проведении олимпиад и программ переподготовки. Наша цель — сделать образование открытым и удобным. Stepik — широко известная российская образовательная платформа, основанная в 2013 году. На Stepik зарегистрировано более миллиона пользователей из России и стран СНГ. В настоящее время на Stepik представлены несколько тысяч учебных курсов на самые разные темы.
Подробнее об авторе
Мнения учеников

Отзывы о курсе

Оставьте отзыв

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

Напишите ваш коментарий, не менее 30 символов

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

Оставьте заявку

Консультант ответит на вопросы о курсе «Алгоритмы и структуры данных от А до Я» и поможет разобраться в деталях обучения.

Комментарий ...

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

Информация обновлена 3 сентября 2026 г.

Продолжить выбор

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

PRO C#. Графы
4 часа
PRO C#. Графы

Хочешь получить бесплатную консультацию? ✅ Пиши слово "Консультация" по ссылке. Теория графов используется в огромном количестве приложений и систем. Например, вы задумывались как…

Онлайн9 занятийНачальный
12 300 ₽
C++ для разработки игр
3 сентября
C++ для разработки игр

Освой С++ на базовом уровне, создай свою первую игру уже через 2 месяца обучения, в дальнейшем сможешь применить эти знания для работы в Unreal Engine.

Онлайн4 занятий
Домашние заданияВидеоуроки+2
90 300 ₽Рассрочка на 12 мес.
Основы разработки на C++: белый пояс
Основы разработки на C++: белый пояс

Этот курс посвящён знакомству с языком программирования С++. Вы научитесь использовать его основные конструкции, создавать свои типы данных, разбивать программу на классы и функци…

Онлайн5 занятий
20 000 ₽
Основы C#
Основы C#

Курс несомненно подойдёт начинающим разработчикам, который хотят освоить современный и востребованный язык программирования. Курс мы начнём с изучения основ - встроенных в язык ти…

Онлайн10 занятий
3 999 ₽
Технология разработки программного обеспечения - переподготовка
−40%2 месяца
Технология разработки программного обеспечения - переподготовка

Курс профессиональной переподготовки «Технология разработки программного обеспечения» по всей России. ✓ Дистанционное обучение ✓ Получение диплома с бесплатной доставкой ✓ Цена 32…

Онлайн5 занятий
Текстовые уроки
54 980 ₽−40%
32 980 ₽
Python разработчик
6,5 месяца
Python разработчик

Веб-разработка на Python: Django, Django REST Framework, Flask. Работа с базами данных, ORM, создание API. Асинхронное программирование, FastAPI. Основы DevOps, контейнеризация, р…

ОнлайнНачальный
110 000 ₽от 6 111 ₽/мес на 18 мес.
Начать без затрат

Бесплатные курсы

Claude Code с нуля до реальных задач
Бесплатно1 месяц
Claude Code с нуля до реальных задач

Вы разовьёте аналитическое мышление, научитесь искать уязвимости и обеспечивать безопасность IT-систем. Освоите востребованную профессию даже с нулевым опытом в IT. Программа курс…

Онлайн
Бесплатноот 11 647 ₽/мес