О курсе
Курс «Алгоритмы и структуры данных» читается на факультете искусственного интеллекта МГУ имени М. В. Ломоносова. Первый семестр закладывает язык асимптотического анализа, основные структуры данных и алгоритмические стратегии на языке Python.
Реализации пишутся самостоятельно: без опоры на готовые библиотечные аналоги там, где это предусмотрено заданием. Практическая отработка задач на «Практикуме на ЭВМ» согласуется по темам, но оценивается отдельно.
Материалы семестра выкладываются на этом сайте по мере готовности.
Подход к обучению
- Лекции — модели вычислений, корректность, сложность, идеи структур данных и алгоритмов.
- Практические занятия — реализация, измерения, разбор типовых ошибок.
- Контесты и домашние задания — задачный формат с автоматической проверкой.
- Устная защита — обоснование выбора алгоритма и оценки сложности.
Реализации на Python
Язык курса — Python 3. Он достаточно выразителен, чтобы записывать алгоритмы почти как псевдокод, и достаточно строг, чтобы обсуждать модель RAM, память и асимптотику.