Алгоритмы и структуры данных I. Продвинутый поток 2026: различия между версиями
Перейти к навигации
Перейти к поиску
Новая страница: «{| class="wikitable" ! Неделя ! Лекции/семинары |- | 1 | '''Введение. Понятие эффективности алгоритма:''' * общеизвестные подходы, “парадокс Merge Sort”; * формальные определения: O-нотация (O-, \Theta-, \Omega-). Решение асимптотических уравнений. * Мастер-теорема. |- | 2 | '''Амортизацио...» |
Нет описания правки |
||
| Строка 1: | Строка 1: | ||
== О курсе == | |||
Курс посвящён изучению алгоритмов и структур данных, а также стоящих за ними теоретически-математических основ и способов их эффективной реализации на языке C++. | |||
'''Пререквизиты''' | |||
Необходимо владеть языком C++ на уровне, достаточном для решения задач уровня регионального и заключительного этапа РОИ, а также знать алгоритмы на уровне параллели В кружков Яндекса/Т-Образования. | |||
== Программа курса== | |||
{| class="wikitable" | {| class="wikitable" | ||
! Неделя | ! Неделя | ||
| Строка 162: | Строка 169: | ||
*** Достижение O(log n) с использованием splay-дерева. | *** Достижение O(log n) с использованием splay-дерева. | ||
|} | |} | ||
'''Критерии оценивание и формы контроля успеваемости''' | |||
Домашние задания в формате задач трёх типов: | |||
# '''Теоретические:''' нужно решить математическую задачу / доказать какой-то факт по теме. | |||
# '''Практические:''' нужно придумать и реализовать на языке C++ алгоритм, решающий определённую задачу и укладывающийся в ограничения по времени и памяти. | |||
Домашних работ обычно 5–7, каждая из которых, кроме последней, рассчитана на одну, полторы или две недели. | |||
Версия от 10:04, 27 августа 2026
О курсе
Курс посвящён изучению алгоритмов и структур данных, а также стоящих за ними теоретически-математических основ и способов их эффективной реализации на языке C++.
Пререквизиты Необходимо владеть языком C++ на уровне, достаточном для решения задач уровня регионального и заключительного этапа РОИ, а также знать алгоритмы на уровне параллели В кружков Яндекса/Т-Образования.
Программа курса
| Неделя | Лекции/семинары |
|---|---|
| 1 | Введение. Понятие эффективности алгоритма:
|
| 2 | Амортизационный анализ:
|
| 3 | Сортировки:
|
| 4 | Сортировки:
|
| 5 | Сортировки:
|
| 6 | Сортировки:
|
| 7 | Сливаемые кучи, их методы, оценки эффективности:
|
| 8 | Сливаемые кучи, их методы, оценки эффективности:
|
| 9 | Сбалансированные двоичные деревья поиска:
|
| 10 | Сбалансированные двоичные деревья поиска:
|
| 11 | Задачи RSQ/RMQ и их аналоги для различных функций:
|
| 12 | Задачи RSQ/RMQ и их аналоги для различных функций:
|
| 13 | Задачи RSQ/RMQ и их аналоги для различных функций:
|
| 14 | Задачи RSQ/RMQ и их аналоги для различных функций:
|
| 15 | Алгоритмы и структуры данных на деревьях:
|
| 16 | Алгоритмы и структуры данных на деревьях:
|
| 17 | Алгоритмы и структуры данных на деревьях:
|
| 18 | Алгоритмы и структуры данных на деревьях:
|
Критерии оценивание и формы контроля успеваемости
Домашние задания в формате задач трёх типов:
- Теоретические: нужно решить математическую задачу / доказать какой-то факт по теме.
- Практические: нужно придумать и реализовать на языке C++ алгоритм, решающий определённую задачу и укладывающийся в ограничения по времени и памяти.
Домашних работ обычно 5–7, каждая из которых, кроме последней, рассчитана на одну, полторы или две недели.