Чему вы научитесь
- Оценивать алгоритмическую сложность через O-большое
- Доказывать корректность алгоритмов инвариантами
- Агрегировать и искать данные линейными алгоритмами
- Сортировать данные различным способоами
- Применять бинарный поиск, когда это можно и нужно
- Решать нетривиальные задачи методом двух указателей
О курсе
Для кого этот курс
Начальные требования
База одного из 4 языков: Python, C++, Kotlin, Swift. Нужно понимать, что такое переменные, какие есть основные типы данных и как пользоваться циклами и функциями.
Преподаватели курса
Как проходит обучение
Курс состоит из введения, 4 основных тем и заключения. Во введении даны определения и основы оценки сложности алгоритмов. 4 основные темы это: линейные алгоритмы, сортировка, бинарный поиск, два указателя.
В каждой теме сейчас 4 урока: урок с теорией, а также 3 урока с задачами, которые состоят из 6 шагов:
- шаг 1: самостоятельное решение
- шаг 2: описание алгоритма с доказательством корректности
- шаги 3-6: реализации на 4 языках (Python, C++, Kotlin, Swift)
Все вопросы можно задавать в комментариях к урокам.
Рекомендация: сначала попытайтесь решить задачи самостоятельно, и только потом подсмотреть решение. Это принесет заметно больше пользы, чем простое чтение решений.
Что вы получите
- ✅Все новые задачи бесплатно
- ✅Подробные разборы к кажой задаче
- ✅Код на Python, C++, Kotlin, Swift
- ✅Доказательства корректности алгоритмов
- ✅Ответы на все вопросы по курсу в комментариях