Алгоритмы и структуры данных 2016 — различия между версиями
.obj (обсуждение | вклад) |
.obj (обсуждение | вклад) |
||
Строка 15: | Строка 15: | ||
'''27 января:''' Быстрое возведение в степень по модулю. Алгоритм Карацубы для умножения целых чисел. Алгоритм Штрассена для умножения матриц. | '''27 января:''' Быстрое возведение в степень по модулю. Алгоритм Карацубы для умножения целых чисел. Алгоритм Штрассена для умножения матриц. | ||
− | '''30 января:''' [http://en.wikipedia.org/wiki/Closest_pair_of_points_problem#Planar_case Поиск ближайшей пары точек] за время ''O''(''n''log ''n''). Задача о планировании взвешенных интервалов: | + | '''30 января:''' [http://en.wikipedia.org/wiki/Closest_pair_of_points_problem#Planar_case Поиск ближайшей пары точек] за время ''O''(''n''log ''n''). Задача о планировании взвешенных интервалов: рекурсивное решение. |
'''3 февраля:''' Динамическое программирование. Задача о планировании взвешенных интервалов: рекурсивное решение с мемоизацией и итеративное решение. Свойства задач, эффективно решаемых при помощи динамического программирования: наличие полиномиального числа подзадач, выразимость исходной задачи в терминах подзадач, сводимость больших подзадач к полиномиальному числу меньших подзадач. Выравнивание абзаца по ширине: рекурсивное решение с мемоизацией. | '''3 февраля:''' Динамическое программирование. Задача о планировании взвешенных интервалов: рекурсивное решение с мемоизацией и итеративное решение. Свойства задач, эффективно решаемых при помощи динамического программирования: наличие полиномиального числа подзадач, выразимость исходной задачи в терминах подзадач, сводимость больших подзадач к полиномиальному числу меньших подзадач. Выравнивание абзаца по ширине: рекурсивное решение с мемоизацией. | ||
'''6 февраля:''' Лекция отменяется из-за болезни преподавателя, но будет компенсирована позднее. | '''6 февраля:''' Лекция отменяется из-за болезни преподавателя, но будет компенсирована позднее. | ||
+ | |||
+ | '''10 февраля:''' Вычисление редакционного расстояния и выравнивание последовательностей. | ||
== Домашние задания == | == Домашние задания == |
Версия 14:31, 11 февраля 2015
Содержание
О курсе
Лектор: Объедков Сергей Александрович
Лекции
13 января: Сортировка вставкой и слиянием. Использование инварианта цикла при доказательстве корректности сортировки вставкой. Θ- и O-обозначения. Оценка сложности алгоритмов. Рекуррентные соотношения.
16 января: О-, o-, Ω-, ω-, Θ-обозначения. Быстрая сортировка, время работы в худшем, лучшем и среднем случаях. Оптимальность сортировки слиянием. Сортировка при помощи двоичного дерева поиска и ее связь с быстрой сортировкой.
20 января: Примеры решения рекуррентных соотношений: решение с использованием дерева рекурсии и методом подстановки. Формулировка и интуитивное объяснение основной теоремы. (Конспект.)
23 января: Выбор порядковой статистики за время O(n): рандомизированный и детерминированный алгоритмы.
27 января: Быстрое возведение в степень по модулю. Алгоритм Карацубы для умножения целых чисел. Алгоритм Штрассена для умножения матриц.
30 января: Поиск ближайшей пары точек за время O(nlog n). Задача о планировании взвешенных интервалов: рекурсивное решение.
3 февраля: Динамическое программирование. Задача о планировании взвешенных интервалов: рекурсивное решение с мемоизацией и итеративное решение. Свойства задач, эффективно решаемых при помощи динамического программирования: наличие полиномиального числа подзадач, выразимость исходной задачи в терминах подзадач, сводимость больших подзадач к полиномиальному числу меньших подзадач. Выравнивание абзаца по ширине: рекурсивное решение с мемоизацией.
6 февраля: Лекция отменяется из-за болезни преподавателя, но будет компенсирована позднее.
10 февраля: Вычисление редакционного расстояния и выравнивание последовательностей.
Домашние задания
Задание 1
Необходимо сдать все 6 задач в данном контесте. На выполнение задания дается 2 недели (см. точное время окончания в контесте). Условия ревью определяют семинаристы.
Семинары
Подгруппа 101-1.
Подгруппа 101-2.
Подгруппа 102-1.
Подгруппа 102-2.
Подгруппа 105-1.
Подгруппа 106-1.
Подгруппа 106-2.
Подгруппа 107-1.
Подгруппа 107-2.
Рекомендуемая литература
- Кормен, Лейзерсон, Ривест, Штайн. Алгоритмы: построение и анализ
- Дасгупта, Пападимитриу, Вазирани. Алгоритмы (оригинал | купить)