В современном мире, где технологии развиваются с невероятной скоростью, алгоритмы являются основой для создания эффективных и масштабируемых решений. Они помогают нам автоматизировать процессы, оптимизировать ресурсы и находить новые пути для развития.
В рамках курса студенты познакомятся с множеством разнообразных алгоритмов, поймут как устроена стандартная библиотека контейнеров и научатся применять их эффективно.
В рамках курса будет рассмотрено огромное множество задач с реальных собеседований в самые разные 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% | Письменная работа, проверяющая знание теории и умение решать задачи аналогичные по формату теоретическим заданиям. Она оценивается по десятибалльной шкале |
Обман, плагиат и любые другие нарушения академической этики на программе недопустимы. В случае нарушений студенты могут быть отчислены с программы.
Ты можешь обсуждать домашние задания с другими студентами, но для всех индивидуальных задач ты должен написать финальное решение самостоятельно. Если ты обсуждал идею решения с кем-то из однокурсников, укажи это в комментарии к своему решению.
Нам важно, чтобы студенты Центрального университета чувствовали себя хорошо. Если тебе станет грустно, сложно или просто понадобится поддержка, смело пиши своему наставнику. Он поможет!