В современном мире, где технологии развиваются с невероятной скоростью, алгоритмы являются основой для создания эффективных и масштабируемых решений. Они помогают нам автоматизировать процессы, оптимизировать ресурсы и находить новые пути для развития.

В рамках курса студенты познакомятся с множеством разнообразных алгоритмов, поймут как устроена стандартная библиотека контейнеров и научатся применять их эффективно.

Академическая нагрузка

Фича курса

В рамках курса будет рассмотрено огромное множество задач с реальных собеседований в самые разные IT-компании.

Результат курса

Тематический план

Блок 1 Базовые алгоритмы
1.1 Понятие сложности алгоритма. Асимптотический анализ
1.2 Базовые алгоритмы: бинарный поиск, префиксы суммы, два указателя
1.3 Bucket sort, radix sort. Merge sort
1.4 Основы комбинаторики: перестановки, сочетания, биномиальные коэффициенты
Блок 2 Амортизация
2.1 Амортизационный анализ. Метод монеток и потенциалов. Динамически расширяющийся массив
2.2 Heap. Heap Sort. Heapify
Блок 3 Вероятностные алгоритмы
3.1 Дискретная вероятность. Условная вероятность. Формула Байеса
3.2 Математическое ожидание. Дисперсия. Неравенство Маркова
3.3 Вероятностная сложность. Quick Sort. Quick Select
Блок 4 Структуры данных на указателях
4.1 Списки. Адаптеры: стек, очередь, дек
4.2 Деревья поиска 1: AVL-дерево
4.3 Деревья поиска 2: декартово дерево
Блок 5 Хеширование
5.1 Концепция хеширования. Коллизии. Хеширование строк
5.2 Хеш-таблица методом цепочек. Гипотеза простого равномерного хеширования
5.3 Статические хеш-таблицы. Алгоритм FKS-hashing на примере frozen set

Система оценивания

Активность Вес Описание
Практические домашние задания 60% В ходе курса будет предложено 5 контестов с алгоритмическими задачами. Каждый из них оценивается по десятибалльной шкале: задачи могут иметь разный вес, но суммарно можно будет набрать до десяти баллов за каждый
Теоретические домашние задания 20% В ходе курса будет предложено 3 теоретических задания. Каждое из них оценивается по десятибалльной шкале: задачи могут иметь разный вес, но суммарно можно будет набрать до десяти баллов за каждое
Контрольная работа 20% Письменная работа, проверяющая знание теории и умение решать задачи аналогичные по формату теоретическим заданиям. Она оценивается по десятибалльной шкале

Политика академической честности

Обман, плагиат и любые другие нарушения академической этики на программе недопустимы. В случае нарушений студенты могут быть отчислены с программы.

Ты можешь обсуждать домашние задания с другими студентами, но для всех индивидуальных задач ты должен написать финальное решение самостоятельно. Если ты обсуждал идею решения с кем-то из однокурсников, укажи это в комментарии к своему решению.

Ментальное здоровье

Нам важно, чтобы студенты Центрального университета чувствовали себя хорошо. Если тебе станет грустно, сложно или просто понадобится поддержка, смело пиши своему наставнику. Он поможет!