О курсе
Курс содержит описание основных алгоритмов и структур данных. Вначале даются базовые понятия и оценка сложности, которые разбираются на примере следующих алгоритмов: «Вычисление чисел Фибоначчи», «Проверка числа на простоту», «Быстрое возведение в степень». Затем обсуждаются основные алгоритмы на массиве, линейный и бинарный поиск в массиве, структура данных «Динамический массив».
В следующем модуле разбираются структуры данных «Однонаправленные и двунаправленные списки», «Очередь», «Стек», «Дек», «Двоичная куча», «Очередь с приоритетом», операции с ними, способы реализации.
Много внимания уделяется сортировкам, им посвящено два модуля. Рассматриваются основные типы сортировок, их реализации, обсуждается, в каких случаях рекомендуется применять те или иные сортировки. Тема порядковых статистик также обсуждается в этом модуле, как идеологически близкая.
После сортировок ставится задача построения эффективного контейнера. В качестве решения разбираются различные виды хеш-таблиц и двоичных деревьев поиска. Всего за курс можно набрать 100 баллов. Сертификат выдается за 85 баллов. Сертификат с отличием за 95 баллов.
Курс был разработан и опубликован в 2015 году.
Наши преподаватели
Степан Мацкевич
Образование: мехмат МГУ, к.ф.-м.н. Также закончил механико-математический факультет МГУ им. М.В.Ломоносова в 2006 году, защитил кандидатскую диссертацию в 2010 году.
Работаю программистом с 2006 года.
Преподаю «Алгоритмы и структуры данных« и «Программирование под Windows» на факультете Инноваций и Высоких Технологий МФТИ с 2009 года. Читаю лекции и веду семинарские занятия. Преподавал также «Базы данных» на этом факультете и курс «Алгоритмы» в Технопарке Mail.ru в МГТУ им. Н.Э.Баумана (сейчас — образовательный центр VK в МГТУ им. Н.Э. Баумана).
Для кого этот курс
Старшеклассники, студенты, программисты с небольшим опытом работы.
Начальные требования
Требуются базовые умения программировать. Знать какой-нибудь из популярных языков программирования, например, C или C++.