Алгоритмы и структуры данных 1 2020/2021 — различия между версиями
Samonenko (обсуждение | вклад) (→Пересдачи экзамена) |
|||
(не показаны 52 промежуточные версии 4 участников) | |||
Строка 1: | Строка 1: | ||
+ | [[#Пересдачи экзамена|<span style="color: red; font-size: 20px; font-weight: bold;">Информация о пересдачах экзамена</span>]] | ||
+ | |||
+ | |||
'''Лектор:''' Сергей Мельников | '''Лектор:''' Сергей Мельников | ||
Строка 9: | Строка 12: | ||
'''Канал для объявлений:'''<br/> | '''Канал для объявлений:'''<br/> | ||
https://t.me/aisd1_20 | https://t.me/aisd1_20 | ||
+ | |||
+ | '''Формула оценки'''<br/> | ||
+ | 0.3 * Домашнее задание + 0.2 * Контрольная работа + 0.1 * Работа на семинаре + 0.4 * Экзамен | ||
== Лекции == | == Лекции == | ||
[https://www.youtube.com/playlist?list=PLEwK9wdS5g0otnX9Kg2J-CMYqq9FjPAh_ записи лекций на ютубе] | [https://www.youtube.com/playlist?list=PLEwK9wdS5g0otnX9Kg2J-CMYqq9FjPAh_ записи лекций на ютубе] | ||
− | # 27 октября. Алгоритм. Сложность алгоритма. Анализ сложности. Асимптотические оценки. Сортировка вставками. Сортировка слиянием. [https://drive.google.com/file/d/1YchZYEW35v4D_5RydRzvP0JqU42MHvaE/view?usp=sharing Jupyter][https://drive.google.com/file/d/15f88STjHa_OhzEDOhDpwoWK7ZaZ_VBf0/view?usp=sharing pdf] | + | # 27 октября. Алгоритм. Сложность алгоритма. Анализ сложности. Асимптотические оценки. Сортировка вставками. Сортировка слиянием. [https://drive.google.com/file/d/1YchZYEW35v4D_5RydRzvP0JqU42MHvaE/view?usp=sharing Jupyter][https://drive.google.com/file/d/15f88STjHa_OhzEDOhDpwoWK7ZaZ_VBf0/view?usp=sharing pdf] [https://www.youtube.com/watch?v=-YE9tP3gQ3Q Video] |
− | # 29 октября. Структуры данных. Динамический массив (list с append-ом). Стек. Очередь. Дек [https://drive.google.com/file/d/1nsm4u7FLxR0tNeB6ZU0xOMWoOutW225j/view?usp=sharing Jupyter][https://drive.google.com/file/d/1KAWpJEnL5f8pqGRNYF8YErpudXKOy8Sa/view?usp=sharing pdf] | + | # 29 октября. Структуры данных. Динамический массив (list с append-ом). Стек. Очередь. Дек [https://drive.google.com/file/d/1nsm4u7FLxR0tNeB6ZU0xOMWoOutW225j/view?usp=sharing Jupyter][https://drive.google.com/file/d/1KAWpJEnL5f8pqGRNYF8YErpudXKOy8Sa/view?usp=sharing pdf] [https://www.youtube.com/watch?v=sNrO4sPagqo Video] |
+ | # 3 ноября. Куча. Сортировка кучей. [https://drive.google.com/file/d/1XsMcxnQiovEv3o2Ml4bsrLaUDZFZBJrE/view?usp=sharing Jupyter][https://drive.google.com/file/d/1TE-39NKRNne8Y6FUh5xnDuWBO4GAhYyq/view?usp=sharing pdf] [https://www.youtube.com/watch?v=BUpHMEFbYf0 Video] | ||
+ | # 5 ноября. Сортировка выбором. Сортировка пузырьком. Быстрая сортировка. Поиск k-й порядковой статистики. [https://drive.google.com/file/d/1YPcVTPLmG8JOUUjFXVx6WHP45_i_CNbj/view?usp=sharing Jupyter][https://drive.google.com/file/d/11XwL9QUtdzdcxPNUoX9ohCAi0j3rnM9j/view?usp=sharing pdf] [https://youtu.be/JbfiFW1Fyvo Video] | ||
+ | # 10 ноября. Оценка снизу на сортировки сравнениями. Сортировка подсчётом. Цифровая сортировка. [https://drive.google.com/file/d/1e2oEHNUSdrZp66FgUoj884-uvN9gjyjE/view?usp=sharing Jupyter] [https://drive.google.com/file/d/1Ee5hPbFrEB8dDi5Sh21Kzf3jjG2WnogO/view?usp=sharing pdf] [https://www.youtube.com/watch?v=qFtnZI6j-wM Video] | ||
+ | # 12 ноября. Двоичный поиск. Троичный поиск. [https://drive.google.com/file/d/1-PBPKOhg7TnsirbHtunGU4fOh3fW__vq/view?usp=sharing Jupyter] [https://drive.google.com/file/d/1K2OmdSELMtUFoDm7h2eetoygjrJoLXMw/view?usp=sharing pdf] [https://www.youtube.com/watch?v=muaZ3DTlwGo Video] | ||
+ | # 17 ноября. Биномиальная куча, Фибоначчиева куча. [https://drive.google.com/file/d/1Pf8PTS32F-mdR3OBMTz8-jW2BNhHzANG/view?usp=sharing Jupyter][https://drive.google.com/file/d/1JGbb4kvxo39b4gCnoc45TPIt-dAv3Gay/view?usp=sharing pdf] [https://www.youtube.com/watch?v=NbYEnaEcg5A Video] | ||
+ | # 19 ноября. Контрольная работа. | ||
+ | # 24 ноября. Динамическое программирование. Числа Фибоначчи. Кузнечик, черепашка. Наибольшая возрастающая последовательность. [https://drive.google.com/file/d/1FhSLBIYQ77TrLzCPoN8jN2BV8xilTc7h/view?usp=sharing Jupyter][https://drive.google.com/file/d/1s_VBszhhazUU4zEG31m3wFSlGZVA9F99/view?usp=sharing pdf] [https://www.youtube.com/watch?v=ue8_JmHGkqs Video] | ||
+ | # 26 ноября. Динамическое программирование. Задача о выравнивании текста. Расстояние Левенштейна. Задача о рюкзаке. [https://drive.google.com/file/d/10YAYcd-Em-JvANLmJ6dzlUuGGGBzCUwl/view?usp=sharing Jupyter][https://drive.google.com/file/d/1NR4DFdJWf_DxAtFbyNqi9XZ-b86NXSaC/view?usp=sharing pdf][https://www.youtube.com/watch?v=Cipq1gAK0Ns Video] | ||
+ | # 3 декабря. Динамическое программирование по подмножествам. Задача о нескольких рюкзаках. Задача Коммивояжёра. [https://drive.google.com/file/d/1RsdVUrFn_qPGZ6MzOszJ9NbzgSkdbs9-/view?usp=sharing Jupyter][https://drive.google.com/file/d/10Nn3SliyP7tpnKPiu8BHRDD8BtvZgbBy/view?usp=sharing pdf][https://www.youtube.com/watch?v=gCoRYw7p2-o Video] | ||
+ | # 8 декабря. Хеш-таблицы. Разрешение коллизий с помощью списков. Открытая адресация. [https://drive.google.com/file/d/18OJQEwB1q95IDmXN0yhuNHU6knHSpqZW/view?usp=sharing Jupyter][https://drive.google.com/file/d/1BeNyOK8aZ_SJ8MaNorGhumaC1NHqQdgH/view?usp=sharing pdf] [https://www.youtube.com/watch?v=NFL19KUZ2Yo Video] | ||
+ | # 10 декабря. Хеш-таблицы. Идеальное хеширование. Хеширование Кукушки. Фильтр Блума. [https://drive.google.com/file/d/19RsxJUgMQSgcAhar_aw2UKtNuW2zuxem/view?usp=sharing Jupyter][https://drive.google.com/file/d/1H5jRglMoExr6RDJ36Bu6NWeq6k1NdkRM/view?usp=sharing pdf][https://www.youtube.com/watch?v=Vchd6l8Gq3g Video] | ||
+ | # 15 декабря. Дерево отрезков. Реализации сверху и снизу. [https://drive.google.com/file/d/1tpsF_FplgCBUDW5_zRh7K11f7rfyjeKp/view?usp=sharing Jupyter][https://drive.google.com/file/d/1Dnds0m96PkmImKjirZsEyJdIb4-ESB43/view?usp=sharing pdf][https://www.youtube.com/watch?v=iV4_6eMrjVw Video] | ||
+ | # 17 декабря. Дерево отрезков. Массовая операция на отрезке. [https://drive.google.com/file/d/1vs2IBm196_jZ8UQBcfh5aw-xxkJDAHTM/view?usp=sharing Jupyter][https://drive.google.com/file/d/1oThob-usMBn2OPnR5wwE35p88KfghpTa/view?usp=sharing pdf] | ||
+ | |||
+ | == Контрольная работа 19.11 == | ||
+ | * 19.11 11:10–12:30 [https://official.contest.yandex.ru/contest/22632/enter/ Ссылка на контест] | ||
+ | * Контест из 5 задач, аналогичных домашним. Темы: сортировка, стек, очередь, двоичная куча, двоичный поиск, троичный поиск. | ||
+ | * Оценка зависит от количества решённых задач: 0 задач → 0 баллов, 1 задача → 4 балла, 2 задачи → 7 баллов, 3 задачи → 9 баллов, 4 или 5 задач → 10 баллов, штрафов за количество посылок нет. | ||
+ | * Используются [http://wiki.cs.hse.ru/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%B0_%D0%94%D0%97_1-4_%D0%9E%D0%B8%D0%9C%D0%9F-1_2020 правила асинхронного прокторинга, аналогичные курсу ОиМП]. Ссылку на запись нужно будет отправить через форму до 13:00. | ||
+ | * Разрешается пользоваться только сайтом тестирующей системы (в том числе своими посылками в ДЗ), средами разработки (не онлайн, а установленными на компьютере), выложенными на wiki jupyter/pdf и документацией на docs.python.org. Заранее отключите все мессенджеры и закройте лишние вкладки. | ||
+ | * Можно и нужно использовать функции стандартной библиотеки Python (например, незачем реализовывать сортировку вручную, если можно воспользоваться встроенной). | ||
== Домашние задания == | == Домашние задания == | ||
− | # [https://official.contest.yandex.ru/contest/21587/enter/ Домашнее задание 1 (дедлайн — 5 ноября)] | + | # [https://official.contest.yandex.ru/contest/21587/enter/ Домашнее задание 1] (дедлайн — 5 ноября; дедлайн со штрафом 50% — 12 ноября) |
+ | # [https://official.contest.yandex.ru/contest/21889/enter/ Домашнее задание 2] (дедлайн — 12 ноября; дедлайн со штрафом 50% — 19 ноября) | ||
+ | # [https://official.contest.yandex.ru/contest/22332/enter/ Домашнее задание 3] (дедлайн — 19 ноября; дедлайн со штрафом 50% — 26 ноября) Обратите внимание, что добавлена проверка решений на PEP8. | ||
+ | # [https://official.contest.yandex.ru/contest/23025/enter/ Домашнее задание 4] (дедлайн — 3 декабря; дедлайн со штрафом 50% — 10 декабря) | ||
+ | # [https://official.contest.yandex.ru/contest/23319/enter/ Домашнее задание 5] (дедлайн — <span style='color: red'>13 декабря</span>; дедлайн со штрафом 50% — 17 декабря) | ||
+ | # [https://official.contest.yandex.ru/contest/23566/enter/ Домашнее задание 6] (дедлайн — <span style='color: red'>20 декабря</span>) | ||
+ | # [https://official.contest.yandex.ru/contest/23661/enter/ Домашнее задание 7] (дедлайн — 20 декабря) | ||
+ | |||
+ | Итоговая оценка за выполнение домашних заданий определяется по формуле <span style='color: red; font-weight: bold'>round((A + 0.5B - 2C) / 47 * 10)</span>, где: | ||
+ | * A — количество задач, сданных до дедлайнов; | ||
+ | * B — количество задач, сданных после дедлайнов; | ||
+ | * C — количество штрафных баллов за нарушение академических норм. | ||
+ | Итоговая оценка за выполнение домашних заданий выражается целым числом от 0 до 10 (если результат получился меньше 0 или больше 10, то он заменяется на 0 или 10 соответственно). | ||
+ | |||
+ | Всего в домашних заданиях было выдано 52 задачи. Для получения итоговой оценки 10 достаточно решить 47 из них. | ||
+ | |||
+ | == Автомат == | ||
+ | Чтобы претендовать на автомат, студент должен удовлетворять следующим критериям: | ||
+ | * Иметь оценку за работу на семинарах не ниже 8; | ||
+ | * Иметь ''доэкзаменационную оценку'' не ниже 8. | ||
+ | ''Доэкзаменационная оценка'' вычисляется по формуле round((0.1С + 0.2К + 0.3Д) / 0.6), где С — оценка за семинары, К — оценка за контрольную работу, Д — оценка за домашние задания. Все оценки — целые числа от 0 до 10. | ||
+ | |||
+ | Если студент удовлетворяет требованиям и согласен на автомат, в качестве итоговой ему выставляется ''доэкзаменационная оценка''. Если студент удовлетворяет требованиям и не приходит на экзамен, то считается, что он согласен на автомат. Если студент приходит на экзамен, то возможность автомата пропадает. | ||
+ | |||
+ | == Экзамен == | ||
+ | * 23.12 11:10–12:30. [https://official.contest.yandex.ru/contest/23822/enter/ Ссылка на контест] | ||
+ | * Контест из 5 задач, преимущественно по темам второй половины модуля (но темы первой половины также могут встретиться). | ||
+ | * Оценка зависит от количества решённых задач: 0 задач → 0 баллов, 1 задача → 4 балла, 2 задачи → 7 баллов, 3 задачи → 9 баллов, 4 или 5 задач → 10 баллов, штрафов за количество посылок нет. | ||
+ | * Используются [http://wiki.cs.hse.ru/%D0%97%D0%B0%D1%89%D0%B8%D1%82%D0%B0_%D0%94%D0%97_1-4_%D0%9E%D0%B8%D0%9C%D0%9F-1_2020 правила асинхронного прокторинга]. Ссылку на запись нужно будет отправить через [https://docs.google.com/forms/d/e/1FAIpQLSeoKnCUsFBsjFvNDr9lxtnjRiND9XaDCBl12ridIVtV_D0YpA/viewform форму] до 13:00. | ||
+ | * Разрешается пользоваться только сайтом тестирующей системы (в том числе своими посылками в ДЗ), средами разработки (не онлайн, а установленными на компьютере), выложенными на wiki jupyter/pdf и документацией на docs.python.org. Заранее отключите все мессенджеры и закройте лишние вкладки. | ||
+ | * Можно и нужно использовать функции стандартной библиотеки Python (например, незачем реализовывать сортировку вручную, если можно воспользоваться встроенной). | ||
+ | |||
+ | == Пересдачи экзамена == | ||
+ | * Первая пересдача: 25.01 11:10–12:30. [https://official.contest.yandex.ru/contest/24531/enter/ Ссылка на контест] | ||
+ | * Вторая пересдача: 02.02 09:30–10:50. [https://official.contest.yandex.ru/contest/24532/enter/ Ссылка на контест] | ||
+ | * Пересдача (комиссия): 08.20.2020 11:10–12:30 [https://official.contest.yandex.ru/contest/24828/enter/ Ссылка на контест] | ||
+ | * Содержание, формат проведения и правила пересдач те же, что и у экзамена. | ||
+ | * [https://docs.google.com/forms/d/e/1FAIpQLSeTxoxj7xlzcJxK67cUEZGIZNsLMmS6WSoNjNI8_MYUBS6taw/viewform Форма для отправки записей]. Запись нужно отправить в течение получаса после окончания пересдачи. | ||
+ | |||
+ | == Семинары == | ||
+ | |||
+ | [[Алгоритмы и структуры данных 1 2020/2021 Семинары 209-1|Подгруппа 209-1]] |
Текущая версия на 10:19, 8 февраля 2021
Информация о пересдачах экзамена
Лектор: Сергей Мельников
Контакты: http://t.me/melnikov hse@melnikov.ch (пожалуйста представляйтесь)
Расписание лекций:
вторник 11:10 – 12:30
четверг 11:10 – 12:30
Канал для объявлений:
https://t.me/aisd1_20
Формула оценки
0.3 * Домашнее задание + 0.2 * Контрольная работа + 0.1 * Работа на семинаре + 0.4 * Экзамен
Содержание
Лекции
- 27 октября. Алгоритм. Сложность алгоритма. Анализ сложности. Асимптотические оценки. Сортировка вставками. Сортировка слиянием. Jupyterpdf Video
- 29 октября. Структуры данных. Динамический массив (list с append-ом). Стек. Очередь. Дек Jupyterpdf Video
- 3 ноября. Куча. Сортировка кучей. Jupyterpdf Video
- 5 ноября. Сортировка выбором. Сортировка пузырьком. Быстрая сортировка. Поиск k-й порядковой статистики. Jupyterpdf Video
- 10 ноября. Оценка снизу на сортировки сравнениями. Сортировка подсчётом. Цифровая сортировка. Jupyter pdf Video
- 12 ноября. Двоичный поиск. Троичный поиск. Jupyter pdf Video
- 17 ноября. Биномиальная куча, Фибоначчиева куча. Jupyterpdf Video
- 19 ноября. Контрольная работа.
- 24 ноября. Динамическое программирование. Числа Фибоначчи. Кузнечик, черепашка. Наибольшая возрастающая последовательность. Jupyterpdf Video
- 26 ноября. Динамическое программирование. Задача о выравнивании текста. Расстояние Левенштейна. Задача о рюкзаке. JupyterpdfVideo
- 3 декабря. Динамическое программирование по подмножествам. Задача о нескольких рюкзаках. Задача Коммивояжёра. JupyterpdfVideo
- 8 декабря. Хеш-таблицы. Разрешение коллизий с помощью списков. Открытая адресация. Jupyterpdf Video
- 10 декабря. Хеш-таблицы. Идеальное хеширование. Хеширование Кукушки. Фильтр Блума. JupyterpdfVideo
- 15 декабря. Дерево отрезков. Реализации сверху и снизу. JupyterpdfVideo
- 17 декабря. Дерево отрезков. Массовая операция на отрезке. Jupyterpdf
Контрольная работа 19.11
- 19.11 11:10–12:30 Ссылка на контест
- Контест из 5 задач, аналогичных домашним. Темы: сортировка, стек, очередь, двоичная куча, двоичный поиск, троичный поиск.
- Оценка зависит от количества решённых задач: 0 задач → 0 баллов, 1 задача → 4 балла, 2 задачи → 7 баллов, 3 задачи → 9 баллов, 4 или 5 задач → 10 баллов, штрафов за количество посылок нет.
- Используются правила асинхронного прокторинга, аналогичные курсу ОиМП. Ссылку на запись нужно будет отправить через форму до 13:00.
- Разрешается пользоваться только сайтом тестирующей системы (в том числе своими посылками в ДЗ), средами разработки (не онлайн, а установленными на компьютере), выложенными на wiki jupyter/pdf и документацией на docs.python.org. Заранее отключите все мессенджеры и закройте лишние вкладки.
- Можно и нужно использовать функции стандартной библиотеки Python (например, незачем реализовывать сортировку вручную, если можно воспользоваться встроенной).
Домашние задания
- Домашнее задание 1 (дедлайн — 5 ноября; дедлайн со штрафом 50% — 12 ноября)
- Домашнее задание 2 (дедлайн — 12 ноября; дедлайн со штрафом 50% — 19 ноября)
- Домашнее задание 3 (дедлайн — 19 ноября; дедлайн со штрафом 50% — 26 ноября) Обратите внимание, что добавлена проверка решений на PEP8.
- Домашнее задание 4 (дедлайн — 3 декабря; дедлайн со штрафом 50% — 10 декабря)
- Домашнее задание 5 (дедлайн — 13 декабря; дедлайн со штрафом 50% — 17 декабря)
- Домашнее задание 6 (дедлайн — 20 декабря)
- Домашнее задание 7 (дедлайн — 20 декабря)
Итоговая оценка за выполнение домашних заданий определяется по формуле round((A + 0.5B - 2C) / 47 * 10), где:
- A — количество задач, сданных до дедлайнов;
- B — количество задач, сданных после дедлайнов;
- C — количество штрафных баллов за нарушение академических норм.
Итоговая оценка за выполнение домашних заданий выражается целым числом от 0 до 10 (если результат получился меньше 0 или больше 10, то он заменяется на 0 или 10 соответственно).
Всего в домашних заданиях было выдано 52 задачи. Для получения итоговой оценки 10 достаточно решить 47 из них.
Автомат
Чтобы претендовать на автомат, студент должен удовлетворять следующим критериям:
- Иметь оценку за работу на семинарах не ниже 8;
- Иметь доэкзаменационную оценку не ниже 8.
Доэкзаменационная оценка вычисляется по формуле round((0.1С + 0.2К + 0.3Д) / 0.6), где С — оценка за семинары, К — оценка за контрольную работу, Д — оценка за домашние задания. Все оценки — целые числа от 0 до 10.
Если студент удовлетворяет требованиям и согласен на автомат, в качестве итоговой ему выставляется доэкзаменационная оценка. Если студент удовлетворяет требованиям и не приходит на экзамен, то считается, что он согласен на автомат. Если студент приходит на экзамен, то возможность автомата пропадает.
Экзамен
- 23.12 11:10–12:30. Ссылка на контест
- Контест из 5 задач, преимущественно по темам второй половины модуля (но темы первой половины также могут встретиться).
- Оценка зависит от количества решённых задач: 0 задач → 0 баллов, 1 задача → 4 балла, 2 задачи → 7 баллов, 3 задачи → 9 баллов, 4 или 5 задач → 10 баллов, штрафов за количество посылок нет.
- Используются правила асинхронного прокторинга. Ссылку на запись нужно будет отправить через форму до 13:00.
- Разрешается пользоваться только сайтом тестирующей системы (в том числе своими посылками в ДЗ), средами разработки (не онлайн, а установленными на компьютере), выложенными на wiki jupyter/pdf и документацией на docs.python.org. Заранее отключите все мессенджеры и закройте лишние вкладки.
- Можно и нужно использовать функции стандартной библиотеки Python (например, незачем реализовывать сортировку вручную, если можно воспользоваться встроенной).
Пересдачи экзамена
- Первая пересдача: 25.01 11:10–12:30. Ссылка на контест
- Вторая пересдача: 02.02 09:30–10:50. Ссылка на контест
- Пересдача (комиссия): 08.20.2020 11:10–12:30 Ссылка на контест
- Содержание, формат проведения и правила пересдач те же, что и у экзамена.
- Форма для отправки записей. Запись нужно отправить в течение получаса после окончания пересдачи.