Главная → Алгоритмы и структуры данных
Алгоритмы и структуры данных: маршрут обучения
Чтобы решать олимпиадные задачи, нужен маршрут — от простого к сложному. Вот как выстроены 15 уровней курса, от сортировок до потоков.
Зачем нужен маршрут
Темы в программировании зависят друг от друга. Динамическое программирование трудно понять без рекурсии, а графовые алгоритмы — без обходов. Поэтому важен порядок: тогда сложное даётся естественно.
Маршрут по уровням
- Уровень 1 — основы Python.
- Уровень 2 — C++ и STL.
- Уровни 3–4 — математика, сортировки, префиксные суммы, два указателя, бинарный поиск.
- Уровни 5–7 — жадные алгоритмы, рекурсия и перебор, обходы графов (BFS, DFS).
- Уровни 8–10 — динамическое программирование, взвешенные графы, дерево отрезков, дерево Фенвика, СНМ.
- Уровни 11–15 — строковые алгоритмы (префикс-функция, z-функция, бор, Ахо-Корасик), суффиксный массив, потоки и другие продвинутые темы.
Как это отрабатывается
Каждая тема — это теория с анимациями, задачи по возрастанию сложности и автоматическая проверка на Codeforces, Timus и Informatics. Часть решений разбирает преподаватель.
Частые вопросы
Можно ли перескакивать темы?
Лучше идти по порядку: темы опираются на предыдущие.
Нужна ли сильная математика?
Достаточно базовой школьной, нужное объясняется по ходу.
Где решать задачи?
На платформе, с отправкой на Codeforces, Timus и Informatics.
Начните заниматься на платформе «Кружок 102»: теория, задачи и проверка решений.
Перейти на course.kruzhok102.com
