Зависимости вместо случайного порядка
Карта знаний
Семь смысловых областей показывают форму учебного маршрута. Точные зависимости не спрятаны: они открываются вместе с описанием выбранного этапа.
Семь областей · один маршрут
Сначала найдите область, затем разберите точные связи
Обзор показывает смысловую структуру курса без паутины линий. Выберите этап — в описании появятся его реальные зависимости, уроки и практика.
- Завершено
- 0 / 21 этапов
- Следующий шаг
- Как думать о задачах
- Нужны зависимости
- Можно начать
- В процессе
- Завершён
Область 01
Основа
Сформировать способ рассуждения и рабочий набор языка.Область 02
Массивы и последовательности
Научиться поддерживать состояние линейного фрагмента.Область 03
Порядок и линейные структуры
Использовать порядок данных и ограничения интерфейса.Область 04
Деревья и приоритет
Работать с иерархией и текущим экстремумом.Область 05
Перебор, графы и выбор
Исследовать пространство решений и доказывать выбор.Область 06
Состояния и специальные структуры
Строить переходы и выбирать специализированное представление.Область 07
Синтез
Распознавать форму новой задачи и объяснять решение.Область 01
Основа
Сформировать способ рассуждения и рабочий набор языка.Этап 00 · 3 урокаКак думать о задачахМожно начатьСледующий
Ограничения, сложность, перебор, инварианты и тестирование.
- Опирается на
- старт курса
- Открывает
- 01 · Инструменты языка; 08 · Бинарный поиск; 14 · Жадные алгоритмы; 15 · Основы динамического программирования; 18 · Битовые операции
Уроки этапа
Этап 01 · 2 урокаИнструменты языкаНужны зависимостиСледующий
Практический мост к контейнерам, сортировке и рекурсии в C++ и Python.
- Опирается на
- 00 · Как думать о задачах
- Открывает
- 02 · Массивы, строки и хеширование; 03 · Два указателя; 06 · Стек, очередь и дек; 07 · Сортировка и интервалы; 10 · Деревья; 12 · Бэктрекинг; 13 · Графы и сетки; 18 · Битовые операции
Уроки этапа
Область 02
Массивы и последовательности
Научиться поддерживать состояние линейного фрагмента.Этап 02 · 3 урокаМассивы, строки и хешированиеНужны зависимостиСледующий
Линейные обходы, быстрый поиск, частоты и группировка.
- Опирается на
- 01 · Инструменты языка
- Открывает
- 03 · Два указателя; 04 · Скользящее окно; 05 · Префиксные техники; 07 · Сортировка и интервалы; 13 · Графы и сетки; 17 · Trie; 19 · Распознавание паттернов
Открыть этап в курсеПрактика для закрепления
Уроки этапа
Этап 03 · 2 урокаДва указателяНужны зависимостиСледующий
Движение границ с доказуемо безопасным отбрасыванием вариантов.
- Опирается на
- 01 · Инструменты языка; 02 · Массивы, строки и хеширование
- Открывает
- 06 · Стек, очередь и дек; 07 · Сортировка и интервалы; 09 · Связные списки; 19 · Распознавание паттернов
Открыть этап в курсеПрактика для закрепления
Уроки этапа
Этап 04 · 2 урокаСкользящее окноНужны зависимостиСледующий
Поддержание свойства непрерывного фрагмента без повторного пересчёта.
- Опирается на
- 02 · Массивы, строки и хеширование
- Открывает
- 06 · Стек, очередь и дек; 19 · Распознавание паттернов
Открыть этап в курсеПрактика для закрепления
Уроки этапа
Этап 05 · 2 урокаПрефиксные техникиНужны зависимостиСледующий
Накопленная информация для диапазонов и подмассивов.
- Опирается на
- 02 · Массивы, строки и хеширование
- Открывает
- 15 · Основы динамического программирования; 19 · Распознавание паттернов
Открыть этап в курсеПрактика для закрепления
Уроки этапа
Область 03
Порядок и линейные структуры
Использовать порядок данных и ограничения интерфейса.Этап 06 · 3 урокаСтек, очередь и декНужны зависимостиСледующий
Порядок обработки и монотонные структуры.
- Опирается на
- 01 · Инструменты языка; 03 · Два указателя; 04 · Скользящее окно
- Открывает
- 10 · Деревья; 11 · Куча и приоритетная очередь; 19 · Распознавание паттернов
Открыть этап в курсеПрактика для закрепления
Уроки этапа
Этап 07 · 3 урокаСортировка и интервалыНужны зависимостиСледующий
Как порядок данных открывает структуру решения.
- Опирается на
- 01 · Инструменты языка; 02 · Массивы, строки и хеширование; 03 · Два указателя
- Открывает
- 08 · Бинарный поиск; 11 · Куча и приоритетная очередь; 12 · Бэктрекинг; 14 · Жадные алгоритмы; 19 · Распознавание паттернов
Открыть этап в курсеПрактика для закрепления
Уроки этапа
Этап 08 · 3 урокаБинарный поискНужны зависимостиСледующий
Точные границы, инварианты и поиск по ответу.
- Опирается на
- 00 · Как думать о задачах; 07 · Сортировка и интервалы
- Открывает
- 10 · Деревья; 19 · Распознавание паттернов
Открыть этап в курсеПрактика для закрепления
Уроки этапа
Этап 09 · 2 урокаСвязные спискиНужны зависимостиСледующий
Перенаправление ссылок, слияние, разворот и циклы.
- Опирается на
- 03 · Два указателя
- Открывает
- 19 · Распознавание паттернов
Открыть этап в курсеПрактика для закрепления
Уроки этапа
Область 04
Деревья и приоритет
Работать с иерархией и текущим экстремумом.Этап 10 · 4 урокаДеревьяНужны зависимостиСледующий
Обходы, рекурсивные возвраты, уровни и BST.
- Опирается на
- 01 · Инструменты языка; 06 · Стек, очередь и дек; 08 · Бинарный поиск
- Открывает
- 13 · Графы и сетки; 17 · Trie; 19 · Распознавание паттернов
Открыть этап в курсеПрактика для закрепления
Уроки этапа
Этап 11 · 2 урокаКуча и приоритетная очередьНужны зависимостиСледующий
Повторный доступ к экстремуму, Top K и потоки.
- Опирается на
- 06 · Стек, очередь и дек; 07 · Сортировка и интервалы
- Открывает
- 13 · Графы и сетки; 19 · Распознавание паттернов
Открыть этап в курсеПрактика для закрепления
Уроки этапа
Область 05
Перебор, графы и выбор
Исследовать пространство решений и доказывать выбор.Этап 12 · 2 урокаБэктрекингНужны зависимостиСледующий
Перебор дерева решений с откатом и отсечениями.
- Опирается на
- 01 · Инструменты языка; 07 · Сортировка и интервалы
- Открывает
- 15 · Основы динамического программирования; 18 · Битовые операции; 19 · Распознавание паттернов
Открыть этап в курсеПрактика для закрепления
Уроки этапа
Этап 13 · 6 уроковГрафы и сеткиНужны зависимостиСледующий
Связность, обходы, зависимости и кратчайшие пути.
- Опирается на
- 01 · Инструменты языка; 02 · Массивы, строки и хеширование; 10 · Деревья; 11 · Куча и приоритетная очередь
- Открывает
- 16 · Двумерное и последовательностное DP; 19 · Распознавание паттернов
Открыть этап в курсеПрактика для закрепления
Уроки этапа
- s13-l01Графы, списки смежности и сеткиСначала пройдите зависимости
- s13-l02DFS, компоненты и циклыСначала пройдите зависимости
- s13-l03BFS, кратчайший путь и несколько источниковСначала пройдите зависимости
- s13-l04Зависимости и топологический порядокСначала пройдите зависимости
- s13-l05DSU и динамическая связностьСначала пройдите зависимости
- s13-l06Дейкстра для неотрицательных весовСначала пройдите зависимости
Этап 14 · 2 урокаЖадные алгоритмыНужны зависимостиСледующий
Локальный выбор только вместе с доказательством безопасности.
- Опирается на
- 00 · Как думать о задачах; 07 · Сортировка и интервалы
- Открывает
- 19 · Распознавание паттернов
Открыть этап в курсеПрактика для закрепления
Уроки этапа
Область 06
Состояния и специальные структуры
Строить переходы и выбирать специализированное представление.Этап 15 · 4 урокаОсновы динамического программированияНужны зависимостиСледующий
Состояние, переход, база, порядок и восстановление ответа.
- Опирается на
- 00 · Как думать о задачах; 05 · Префиксные техники; 12 · Бэктрекинг
- Открывает
- 16 · Двумерное и последовательностное DP
Открыть этап в курсеПрактика для закрепления
Уроки этапа
Этап 16 · 2 урокаДвумерное и последовательностное DPНужны зависимостиСледующий
Сетки и пары последовательностей.
- Опирается на
- 13 · Графы и сетки; 15 · Основы динамического программирования
- Открывает
- 19 · Распознавание паттернов
Открыть этап в курсеПрактика для закрепления
Уроки этапа
Этап 17 · 1 урокTrieНужны зависимостиСледующий
Практический индекс строковых префиксов.
- Опирается на
- 02 · Массивы, строки и хеширование; 10 · Деревья
- Открывает
- 19 · Распознавание паттернов
Открыть этап в курсеПрактика для закрепления
Уроки этапа
Этап 18 · 2 урокаБитовые операцииНужны зависимостиСледующий
Безопасные маски, XOR и множества малого размера.
- Опирается на
- 00 · Как думать о задачах; 01 · Инструменты языка; 12 · Бэктрекинг
- Открывает
- 19 · Распознавание паттернов
Открыть этап в курсеПрактика для закрепления
Уроки этапа
Область 07
Синтез
Распознавать форму новой задачи и объяснять решение.Этап 19 · 2 урокаРаспознавание паттерновНужны зависимостиСледующий
Выбор техники по свойствам задачи, а не по ключевым словам.
- Опирается на
- 02 · Массивы, строки и хеширование; 03 · Два указателя; 04 · Скользящее окно; 05 · Префиксные техники; 06 · Стек, очередь и дек; 07 · Сортировка и интервалы; 08 · Бинарный поиск; 09 · Связные списки; 10 · Деревья; 11 · Куча и приоритетная очередь; 12 · Бэктрекинг; 13 · Графы и сетки; 14 · Жадные алгоритмы; 16 · Двумерное и последовательностное DP; 17 · Trie; 18 · Битовые операции
- Открывает
- 20 · Собеседование: итог
Уроки этапа
Этап 20 · 2 урокаСобеседование: итогНужны зависимостиСледующий
Смешанная практика, объяснение решения и план повторения.
- Опирается на
- 19 · Распознавание паттернов
- Открывает
- итог курса
Уроки этапа