Catalogus / назад к курсам
ОбщееНачальныйPublished

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

Алгоритмы и структуры данных на практике: от Big-O, поиска и сортировок до стеков/очередей, куч, деревьев и хеш-таблиц. 120+ задач с автопроверкой, визуализации и разборы собес-задач. В дорожной карте — расширенные модули: графы, геометрия, теория чисел (обновления включены).

#stepik-import
Алгоритмы и структуры данных: полный курс

О курсе

Подробнее о курсе

Программа курса построена таким образом, чтобы шаг за шагом вести вас от базовых понятий до сложных алгоритмических техник, необходимых для решения реальных задач в IT. Курс включает в себя следующие ключевые аспекты: Теоретическая база: Вы изучите фундаментальные концепции, которые лежат в основе алгоритмов и структур данных. Программа охватывает принципы работы с основными типами данных, такими как массивы, списки, стеки, очереди, кучи, деревья и графы. Практическая направленность: Каждая теоретическая тема сопровождается практическими заданиями и небольшими, которые помогут закрепить материал. Вы будете работать с реальными задачами с собеседований, реализовывать алгоритмические решения и оптимизировать их, что позволяет перенести знания в практическую плоскость и готовит к реальным профессиональным вызовам. Многоуровневый подход: Курс структурирован в виде модулей, начиная с базовых понятий и заканчивая продвинутыми техниками, такими как динамическое программирование, графы и хэш-таблицы. Такой подход позволяет каждому учащемуся выбрать удобный темп обучения и постепенно повышать уровень сложности. Подготовка к профессиональным вызовам: Программа курса ориентирована не только на освоение теории, но и на подготовку к техническим собеседованиям и участию в олимпиадах по программированию. Вы научитесь разрабатывать и отлаживать код, сравнивать различные алгоритмические подходы и выбирать оптимальные решения для решения задач, что является востребованным навыком в IT-сфере. Поддержка: Наша команда оперативно отвечает на все вопросы по содержанию курса и реагирует на замечания. В итоге, данный курс поможет вам не только углубить знания в области алгоритмов и структур данных, но и научиться применять их на практике, разрабатывать эффективные решения для реальных задач, а также сравнивать и оптимизировать алгоритмы для достижения наилучших результатов. Вы можете задать любой вопрос автору в телеграмм @alexey_stepik Обновления: 22.04.2025 - Обновлена теоретическая часть в асимптотиках 23.04.2025 - Обновлены проекты, теперь они сдаются через рецензирование 24.04.2025 - Добавлена новая теория в списки, массивы, очереди и стэки. 25.04.2025 - Обновлена теория на алгоритмы поиска. 28.04.2025 - Обновлена теория по сортировкам, добавлены новые задачи. 05.05.2025 - Переработана теория по кучам 28.06.2025 - Расширена теория по AVL, Treap, Красно-черному дереву и Splay

Записей
0
Slug
algoritmy-i-struktury-dannyh-polnyi-kurs

Структура курса

Секции и уроки

15 секц.
Секция 1

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

2 уроков
Урок 1
Краткий обзор структуры курса
1 шагов
Урок 2
Что такое алгоритмы?
1 шагов
Секция 2

Оценка сложности алгоритмов

6 уроков
Урок 1
Асимптотическая сложность и нотация большого O
2 шагов
Урок 2
Пространственная сложность (потребление памяти)
1 шагов
Урок 3
O, o, Θ, Ω(осторожно, матан)
8 шагов
Урок 4
Таблица распространенных сложностей
5 шагов
Урок 5
Примеры оценки сложности алгоритмов
5 шагов
Урок 6
Задачи
10 шагов
Секция 3

Основные структуры данных

8 уроков
Урок 1
Массивы
4 шагов
Урок 2
Списки: односвязанные, двусвязанные
5 шагов
Урок 3
Применение списков
14 шагов
Урок 4
Очередь и стэк: принципы FIFO и LIFO
5 шагов
Урок 5
Реализация и задачи
9 шагов
Урок 6
Задачи
5 шагов
Урок 7
Проект 1: Стэк
1 шагов
Урок 8
Проект 2: Очередь
1 шагов
Секция 4

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

10 уроков
Урок 1
Линейный и бинарный поиски
6 шагов
Урок 2
Модификации и тесты на алгоритмы поиска
7 шагов
Урок 3
Сортировка пузырьком
6 шагов
Урок 4
Сортировка вставками
3 шагов
Урок 5
Сортировка слиянием (merge sort)
7 шагов
Урок 6
Быстрая сортировка (Quick Sort)
8 шагов
Урок 7
Quick Select
6 шагов
Урок 8
Детерменированный Quick Sort
7 шагов
Урок 9
Задачи
9 шагов
Урок 10
Проект 3: детерминированный Quick Sort
1 шагов
Секция 5

Кучи и алгоритмы на их основе

4 уроков
Урок 1
Двоичная куча: свойства, использование в алгоритмах.
8 шагов
Урок 2
Построение кучи
1 шагов
Урок 3
Встроенные кучи в C++ и Python
2 шагов
Урок 4
Задачи
9 шагов
Секция 6

Дерево отрезков

8 уроков
Урок 1
Что такое ДО?
7 шагов
Урок 2
Построение дерева
6 шагов
Урок 3
Обновление значений
6 шагов
Урок 4
Обработка запросов
5 шагов
Урок 5
Сжатие координат
6 шагов
Урок 6
Неявное дерево отрезков
7 шагов
Урок 7
Задачи
12 шагов
Урок 8
Проект 4: Дерево отрезков
1 шагов
Секция 7

Бинарные деревья

9 уроков
Урок 1
Что такое дерево?
6 шагов
Урок 2
Что такое бинарное дерево поиска (BST)
7 шагов
Урок 3
Операции в бинарном дереве поиска
6 шагов
Урок 4
Обходы дерева
6 шагов
Урок 5
Проверка дерева на соответствие BST
6 шагов
Урок 6
Минимум и максимум в BST
8 шагов
Урок 7
Уравновешенные BST
6 шагов
Урок 8
Использование BST в реальных задачах
7 шагов
Урок 9
Задачи
9 шагов
Секция 8

Сбалансированные деревья

7 уроков
Урок 1
Типы сбалансированных деревьев
7 шагов
Урок 2
AVL-дерево
9 шагов
Урок 3
Splay-дерево
11 шагов
Урок 4
Декартово дерево
10 шагов
Урок 5
Красно-черное дерево
11 шагов
Урок 6
Задачи
10 шагов
Урок 7
Проект 5: Set
1 шагов
Секция 9

Хэш-таблицы

7 уроков
Урок 1
Основная идея и примеры
7 шагов
Урок 2
Коллизии: как их обрабатывать
5 шагов
Урок 3
Частотный анализ
5 шагов
Урок 4
Хранение уникальных элементов
5 шагов
Урок 5
Простая хэш-таблица на основе массива
4 шагов
Урок 6
Обработка коллизий метод цепочек
5 шагов
Урок 7
Задачи
8 шагов
Секция 10

Алгоритмы на графах

8 уроков
Урок 1
Введение в графы
1 шагов
Урок 2
Обходы графа (DFS и BFS)
1 шагов
Урок 3
Компоненты связанности
1 шагов
Урок 4
Кратчайшие пути
1 шагов
Урок 5
Поиск минимального остовного дерева
1 шагов
Урок 6
Топологическая сортировка
1 шагов
Урок 7
Алгоритм Флойда-Уоршелла
1 шагов
Урок 8
Алгоритм А и его примение
1 шагов
Секция 11

Геометрические алгоритмы

6 уроков
Урок 1
Введение в геометрию
1 шагов
Урок 2
Определение выпуклого многоугольника
1 шагов
Урок 3
Пересечение отрезков
1 шагов
Урок 4
Выпуклая оболочка (Convex Hull)
1 шагов
Урок 5
Алгоритм триангуляции Делоне
1 шагов
Урок 6
Геометрические алгоритмы в графике
1 шагов
Секция 12

Теория чисел и криптография

6 уроков
Урок 1
Основы теории чисел
1 шагов
Урок 2
Расширенный алгоритм Евклида
1 шагов
Урок 3
Быстрое возведение в степень
1 шагов
Урок 4
Решето Эратосфена и тесты простоты
1 шагов
Урок 5
Китайская теорема об остатках
1 шагов
Урок 6
RSA и основы криптографии
1 шагов
Секция 13

Динамическое программирование и оптимизация

7 уроков
Урок 1
Базовые принципы ДП
1 шагов
Урок 2
Классические задачи ДП
1 шагов
Урок 3
ДП с восстановлением ответа
1 шагов
Урок 4
Задача о рюкзаке
1 шагов
Урок 5
ДП по деревьям
1 шагов
Урок 6
ДП по маскам
1 шагов
Урок 7
Комбинированные техники ДП
1 шагов
Секция 14

Параллельные и потоковые алгоритмы

5 уроков
Урок 1
Основы многопоточного программирования
1 шагов
Урок 2
MapReduce и обработка больших данных
1 шагов
Урок 3
Алгоритмы для многопоточных систем
1 шагов
Урок 4
Lock-free структуры данных
1 шагов
Урок 5
Параллельные алгоритмы сортировки
1 шагов
Секция 15

Завершающий модуль

1 уроков
Урок 1
Итоги курса
1 шагов
Поддержка