Алгоритмы и структуры данных 2016 — различия между версиями
.obj (обсуждение | вклад) (→Домашние задания) |
Aumnov (обсуждение | вклад) (→Преподаватели и ассистенты) |
||
Строка 67: | Строка 67: | ||
| 154-1 || [http://www.hse.ru/staff/iamakarov Илья Макаров] || Владимир Гончаров || || | | 154-1 || [http://www.hse.ru/staff/iamakarov Илья Макаров] || Владимир Гончаров || || | ||
|- | |- | ||
− | | 154-2 || [http://www.hse.ru/org/persons/141880775 Алексей Умнов] || Павел Белов || [[Алгоритмы_и_структуры_данных_семинары_154-2_156-2| Страница семинаров]] || | + | | 154-2 || [http://www.hse.ru/org/persons/141880775 Алексей Умнов] || Павел Белов || [[Алгоритмы_и_структуры_данных_семинары_154-2_156-2| Страница семинаров]] || Четверг, 13:40 - 15:00 |
|- | |- | ||
| 155-1 || [http://www.hse.ru/org/persons/138215687 Михаил Дектярев] || Александр Тиунов || || | | 155-1 || [http://www.hse.ru/org/persons/138215687 Михаил Дектярев] || Александр Тиунов || || | ||
Строка 75: | Строка 75: | ||
| 156-1 || [http://www.hse.ru/org/persons/165212910 Филипп Синицын] || Максим Сабянин || || | | 156-1 || [http://www.hse.ru/org/persons/165212910 Филипп Синицын] || Максим Сабянин || || | ||
|- | |- | ||
− | | 156-2 || [http://www.hse.ru/org/persons/141880775 Алексей Умнов] || Павел Белов || [[Алгоритмы_и_структуры_данных_семинары_154-2_156-2| Страница семинаров]] || | + | | 156-2 || [http://www.hse.ru/org/persons/141880775 Алексей Умнов] || Павел Белов || [[Алгоритмы_и_структуры_данных_семинары_154-2_156-2| Страница семинаров]] || Четверг, 9:00 - 10:20 |
|- | |- | ||
| 157-1 || [http://www.hse.ru/org/persons/133408680 Михаил Густокашин] || Андрей Климкин || || | | 157-1 || [http://www.hse.ru/org/persons/133408680 Михаил Густокашин] || Андрей Климкин || || |
Версия 18:20, 23 февраля 2016
Лектор: С. Объедков
Расписание лекций:
вторник 13:40 – 15:00, ауд. 622
четверг 10:30 – 11:50, ауд. 622
Содержание
Лекции
- 12 января. Структура курса, правила выполнения домашних заданий. Рекурсивные алгоритмы: задача о Ханойской башне. Оценка времени работы рекурсивного алгоритма при помощи рекуррентного соотношения. Доказательство оптимальности рекурсивного алгоритма.
- 14 января. Сортировка вставкой и слиянием. Использование инварианта цикла при доказательстве корректности сортировки вставкой. Θ- и O-обозначения. Оценка сложности алгоритмов.
- 19 января. О-, o-, Ω-, ω-, Θ-обозначения. Быстрая сортировка, время работы в худшем, лучшем и среднем случаях.
- 21 января. Сортировка при помощи двоичного дерева поиска и ее связь с быстрой сортировкой. Примеры решения рекуррентных соотношений: решение с использованием дерева рекурсии и методом подстановки. Основная теорема.
- 26 января. Разбиение массива по опорному элементу на три части (элементы, меньшие опорного, равные опорному и большие опорного). Оптимальность сортировки слиянием. Выбор порядковой статистики за время O(n): рандомизированный и детерминированный алгоритмы.
- 28 января. Поиск ближайшей пары точек за время O(n logn).
- 2 февраля. Алгоритм Карацубы для умножения целых чисел. Алгоритм Штрассена для умножения матриц.
- 4 февраля. Быстрое возведение в степень по модулю. Динамическое программирование: выравнивание абзаца по ширине (рекурсивное решение с мемоизацией).
- 9 февраля. Динамическое программирование. Задача о планировании взвешенных интервалов: рекурсивное решение с мемоизацией и итеративное решение. Свойства задач, эффективно решаемых при помощи динамического программирования: наличие полиномиального числа подзадач, выразимость исходной задачи в терминах подзадач, сводимость больших подзадач к полиномиальному числу меньших подзадач. Выравнивание абзаца по ширине: итеративное решение. (Контест)
- 11 февраля. Вычисление редакционного расстояния и выравнивание последовательностей.
- 16 февраля. Графы: обход в глубину и в ширину, поиск компонент связности в неориентированных графах.
- 18 февраля. Способы представления графов: матрица смежности и списки смежности. Оценка сложности алгоритма поиска в ширину.
Домашние задания
Первое домашнее задание
Первое домашнее задание стоит из двух частей.
К 15 февраля нужно решить три задачи на асимптотику (две — из пункта 1 и одну — из пункта 2) и две задачи на рекуррентные соотношения (одну — из пункта 1 и одну — из пункта 2). Какие именно задачи нужно решить, уточните, пожалуйста, у преподавателя, ведущего практические занятия. Крайний срок выполнения задач может немного различаться в разных подгруппах.
К 20 февраля нужно решить две задачи из контеста (одну типа A и одну — типа B; какие именно, определяет преподаватель, ведущий практические занятия). Решение необходимо снабдить описанием алгоритма, обоснованием корректности и анализом асимптотической сложности.
Второе домашнее задание
К 29 февраля нужно решить две задачи из контеста (одну типа A и одну — типа B; какие именно, определяет преподаватель, ведущий практические занятия). Решение необходимо снабдить описанием алгоритма, обоснованием корректности и анализом асимптотической сложности. Начало контеста — 22 февраля, 20:00.
Это не все домашнее задание. Дополнительные задачи появятся позже.
Экзамен
Рекомендуемая литература
- Кормен, Лейзерсон, Ривест, Штайн. Алгоритмы: построение и анализ
- Дасгупта, Пападимитриу, Вазирани. Алгоритмы
Преподаватели и ассистенты
Подгруппа | Преподаватель | Учебные ассистенты | Семинары | Консультации |
---|---|---|---|---|
152-1 | Михаил Нокель | Андрей Атанов | ||
152-2 | Сергей Объедков | Андрей Климкин | Страница семинаров | Понедельник, 10:30 – 11:50, ауд. 511 |
154-1 | Илья Макаров | Владимир Гончаров | ||
154-2 | Алексей Умнов | Павел Белов | Страница семинаров | Четверг, 13:40 - 15:00 |
155-1 | Михаил Дектярев | Александр Тиунов | ||
155-2 | Павел Мельничук | Александр Тиунов | Страница семинаров | |
156-1 | Филипп Синицын | Максим Сабянин | ||
156-2 | Алексей Умнов | Павел Белов | Страница семинаров | Четверг, 9:00 - 10:20 |
157-1 | Михаил Густокашин | Андрей Климкин | ||
157-2 | Яна Кашинская | Андрей Атанов | Понедельник, 10:30 – 11:50 | |
158-1 | Николай Субоч | Максим Сабянин | ||
158-2 | Денис Симагин | Владимир Гончаров | Страница семинаров |