Содержание курса
1. Введение в структуры данных
4 урока
3
0
0м
0
Открытый
1.1
Для кого этот курс
↗
0
0
-
0
Открытый
1.2
Понимание структур данных
↗
1
0
-
0
Открытый
1.3
Типы структур данных
↗
1
0
-
0
Открытый
1.4
Обзор нотации Big-O
↗
1
0
-
0
2. Массивы
6 уроков
2
0
0м
0
Открытый
2.1
Введение в массивы
↗
1
0
-
0
Открытый
2.2
Массивы в разных языках программирования
↗
1
0
-
0
Открытый
2.3
Задача: Накопительная сумма массива
↗
0
0
-
0
Открытый
2.4
Задача: Содержит ли массив дубликаты
↗
0
0
-
0
Открытый
2.5
Задача: Разности левой и правой сумм
↗
0
0
-
0
Открытый
2.6
Задача: Наибольшая высота
↗
0
0
-
0
3. Матрицы
4 урока
2
0
0м
0
Открытый
3.1
Введение в матрицы
↗
1
0
-
0
Открытый
3.2
Задача: Богатство самого богатого клиента
↗
1
0
-
0
Открытый
3.3
Задача: Сумма диагоналей матрицы
↗
0
0
-
0
Открытый
3.4
Задача: Строка с максимальным числом единиц
↗
0
0
-
0
4. Стек (Stack)
10 уроков
0
0
0м
0
Открытый
4.1
Введение в стек
↗
0
0
-
0
Открытый
4.2
Задача: Сбалансированные скобки
↗
0
0
-
0
Открытый
4.3
Задача: Разворот строки с помощью стека
↗
0
0
-
0
Открытый
4.4
Задача: Перевод из десятичной в двоичную
↗
0
0
-
0
Открытый
4.5
Задача: Следующий больший элемент
↗
0
0
-
0
Открытый
4.6
Задача: Сортировка стека
↗
0
0
-
0
Открытый
4.7
Задача: Упрощение пути (Simplify Path)
↗
0
0
-
0
Открытый
4.8
Задача: Удаление смежных дубликатов
↗
0
0
-
0
Открытый
4.9
Задача: Удаление звёздочек из строки
↗
0
0
-
0
Открытый
4.10
Задача: Сделать строку хорошей
↗
0
0
-
0
5. Очередь (Queue)
6 уроков
0
0
0м
0
Открытый
5.1
Введение в очереди
↗
0
0
-
0
Открытый
5.2
Задача: Стек на двух очередях
↗
0
0
-
0
Открытый
5.3
Задача: Двоичные числа от 1 до N
↗
0
0
-
0
Открытый
5.4
Задача: Зигзаг-итератор (Zigzag Iterator)
↗
0
0
-
0
Открытый
5.5
Задача: Максимум в скользящем окне размера k
↗
0
0
-
0
Открытый
5.6
Задача: Проверка палиндрома через очередь
↗
0
0
-
0
6. Связный список (LinkedList)
6 уроков
0
0
0м
0
Открытый
6.1
Введение в связные списки
↗
0
0
-
0
Открытый
6.2
Операции с двусвязным списком
↗
0
0
-
0
Открытый
6.3
Задача: Разворот связного списка
↗
0
0
-
0
Открытый
6.4
Задача: Удаление дубликатов из отсортированного списка
↗
0
0
-
0
Открытый
6.5
Задача: Слияние двух отсортированных списков
↗
0
0
-
0
Открытый
6.6
Задачи: Палиндром в двусвязном списке и обмен парами
↗
0
0
-
0
7. Деревья (Tree и BST)
10 уроков
0
0
0м
0
Открытый
7.1
Введение в деревья
↗
0
0
-
0
Открытый
7.2
Бинарное дерево поиска (BST) и обходы
↗
0
0
-
0
Открытый
7.3
Операции BST: поиск, вставка, удаление
↗
0
0
-
0
Открытый
7.4
Задача: Максимальная глубина бинарного дерева
↗
0
0
-
0
Открытый
7.5
Задача: Проверка сбалансированности дерева
↗
0
0
-
0
Открытый
7.6
Задача: Минимальная разница между узлами BST
↗
0
0
-
0
Открытый
7.7
Задача: Сумма значений BST в диапазоне
↗
0
0
-
0
Открытый
7.8
Задача: K-й наименьший элемент в BST
↗
0
0
-
0
Открытый
7.9
Задача: Ближайшее значение в BST
↗
0
0
-
0
Открытый
7.10
Задача: Слияние двух бинарных деревьев
↗
0
0
-
0
8. Хеш-таблицы (HashMap)
6 уроков
0
0
0м
0
Открытый
8.1
Введение в хеш-таблицы
↗
0
0
-
0
Открытый
8.2
Задача: Первый неповторяющийся символ
↗
0
0
-
0
Открытый
8.3
Задача: Наибольшее уникальное число
↗
0
0
-
0
Открытый
8.4
Задача: Максимум слов "balloon"
↗
0
0
-
0
Открытый
8.5
Задача: Самый длинный палиндром
↗
0
0
-
0
Открытый
8.6
Задача: Записка с выкупом (Ransom Note)
↗
0
0
-
0
9. Множества (HashSet)
5 уроков
0
0
0м
0
Открытый
9.1
Введение в множества (HashSet)
↗
0
0
-
0
Открытый
9.2
Задача: Подсчёт элементов
↗
0
0
-
0
Открытый
9.3
Задача: Драгоценности и камни
↗
0
0
-
0
Открытый
9.4
Задача: Уникальное количество вхождений
↗
0
0
-
0
Открытый
9.5
Задача: Самая длинная подстрока без повторов
↗
0
0
-
0
10. Куча (Heap)
5 уроков
0
0
0м
0
Открытый
10.1
Введение в кучу и операции
↗
0
0
-
0
Открытый
10.2
Задача: Подарки из самой богатой кучи
↗
0
0
-
0
Открытый
10.3
Задача: Сортировка символов по частоте
↗
0
0
-
0
Открытый
10.4
Задача: Минимальная стоимость соединения палочек
↗
0
0
-
0
Открытый
10.5
Задача: Медиана потока чисел
↗
0
0
-
0
11. Графы (Graph)
6 уроков
0
0
0м
0
Открытый
11.1
Введение в графы и типы графов
↗
0
0
-
0
Открытый
11.2
Представления графов: матрица и список смежности
↗
0
0
-
0
Открытый
11.3
Обход графа в глубину (DFS)
↗
0
0
-
0
Открытый
11.4
Обход графа в ширину (BFS)
↗
0
0
-
0
Открытый
11.5
Задачи: путь в графе и количество провинций
↗
0
0
-
0
Открытый
11.6
Задачи: безопасные вершины и минимум вершин
↗
0
0
-
0
12. Префиксное дерево (Trie)
5 уроков
0
0
0м
0
Открытый
12.1
Введение в префиксное дерево (Trie)
↗
0
0
-
0
Открытый
12.2
Операции Trie: вставка, поиск и удаление
↗
0
0
-
0
Открытый
12.3
Задача: реализация Trie (Prefix Tree)
↗
0
0
-
0
Открытый
12.4
Задачи: индексные пары и лишние символы
↗
0
0
-
0
Открытый
12.5
Задачи: система подсказок и поиск с подстановочным символом
↗
0
0
-
0
13. Алгоритмы сортировки
5 уроков
0
0
0м
0
Открытый
13.1
Введение в алгоритмы сортировки
↗
0
0
-
0
Открытый
13.2
Продвинутые методы: Merge Sort, Quick Sort и Counting Sort
↗
0
0
-
0
Открытый
13.3
Задачи: яблоки, частота, гласные
↗
0
0
-
0
Открытый
13.4
Задачи: Операции приведения к равенству и Разделение массива
↗
0
0
-
0
Открытый
13.5
Задачи: Top K частых чисел и Meeting Rooms II
↗
0
0
-
0
14. Алгоритмы поиска
4 урока
0
0
0м
0
Открытый
14.1
Введение в алгоритмы поиска: линейный и бинарный
↗
0
0
-
0
Открытый
14.2
Задачи: подсчёт чисел и минимальное общее
↗
0
0
-
0
Открытый
14.3
Задачи: частота элемента и минимакс массивов
↗
0
0
-
0
Открытый
14.4
Задачи: Поиск в 2D-матрице и Квадратный корень
↗
0
0
-
0
15. Жадные алгоритмы (Greedy)
4 урока
0
0
0м
0
Открытый
15.1
Введение в жадные алгоритмы
↗
0
0
-
0
Открытый
15.2
Задачи: Палиндром II и Максимальная длина цепочки пар
↗
0
0
-
0
Открытый
15.3
Задачи: Минимум добавлений для скобок и Удаление дубликатов букв
↗
0
0
-
0
Открытый
15.4
Задачи: палиндромное число и удаление мин/макс
↗
0
0
-
0
16. Разделяй и властвуй
4 урока
0
0
0м
0
Открытый
16.1
Введение в алгоритм «Разделяй и властвуй»
↗
0
0
-
0
Открытый
16.2
Задача: Самая длинная «милая» подстрока (Longest Nice Substring)
↗
0
0
-
0
Открытый
16.3
Задачи: Элемент большинства и Сортировка связного списка
↗
0
0
-
0
Открытый
16.4
Задачи: Максимальное бинарное дерево и Красивый массив
↗
0
0
-
0