Алгоритмы и структуры данных 1 2020/2021 — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Контрольная работа 19.11)
(Пересдачи экзамена)
 
(не показаны 32 промежуточные версии 2 участников)
Строка 1: Строка 1:
 +
[[#Пересдачи экзамена|<span style="color: red; font-size: 20px; font-weight: bold;">Информация о пересдачах экзамена</span>]]
 +
 +
 
'''Лектор:''' Сергей Мельников
 
'''Лектор:''' Сергей Мельников
  
Строка 20: Строка 23:
 
# 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]
 
# 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]
 
# 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]
+
# 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]
+
# 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 ноября.
+
# 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 ноября. Контрольная работа.
 
# 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 ==
* 19.11 11:10–12:30
+
* 19.11 11:10–12:30 [https://official.contest.yandex.ru/contest/22632/enter/ Ссылка на контест]
* Контест из 5 задач, аналогичных домашним. Темы: сортировка, стек, очередь, двоичная куча, двоичный поиск, троичный поиск. Ссылка появится здесь чуть позже.
+
* Контест из 5 задач, аналогичных домашним. Темы: сортировка, стек, очередь, двоичная куча, двоичный поиск, троичный поиск.
* Оценка зависит от количества решённых задач: 0 задач → 0 баллов, 1 задача → 4 балла, 2 задачи → 7 баллов, 3 задачи → 9 баллов, 4 или 5 задач → 10 баллов, штрафов нет.
+
* Оценка зависит от количества решённых задач: 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/1FAIpQLSfXmW2oxzpzN2eLmsWPOkOh1z95VAqS8JmVazQv5Mn0ePiZxg/viewform форму] до 13:00.
+
* Используются [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.
* Разрешается пользоваться только сайтом тестирующей системы (в том числе своими посылками в ДЗ), средами разработки (не онлайн, а установленными на компьютере), конспектом и документацией на docs.python.org. Заранее отключите все мессенджеры и закройте лишние вкладки.
+
* Разрешается пользоваться только сайтом тестирующей системы (в том числе своими посылками в ДЗ), средами разработки (не онлайн, а установленными на компьютере), выложенными на wiki jupyter/pdf и документацией на docs.python.org. Заранее отключите все мессенджеры и закройте лишние вкладки.
 +
* Можно и нужно использовать функции стандартной библиотеки Python (например, незачем реализовывать сортировку вручную, если можно воспользоваться встроенной).
  
 
== Домашние задания ==
 
== Домашние задания ==
Строка 36: Строка 47:
 
# [https://official.contest.yandex.ru/contest/21889/enter/ Домашнее задание 2] (дедлайн — 12 ноября; дедлайн со штрафом 50% — 19 ноября)
 
# [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/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 (например, незачем реализовывать сортировку вручную, если можно воспользоваться встроенной).
  
Итоговая оценка за выполнение домашних заданий пропорциональна общему количеству решённых задач во всех домашних контестах (задачи, решённые после основного дедлайна, учитываются с весом 0.5).
+
== Пересдачи экзамена ==
В момент появления последнего набора домашних задач также будут объявлены:
+
* Первая пересдача: 25.01 11:10–12:30. [https://official.contest.yandex.ru/contest/24531/enter/ Ссылка на контест]
* Количество решённых задач, требующееся для получения итоговой оценки 10 баллов (это количество будет меньше общего количества задач во всех домашних контестах);
+
* Вторая пересдача: 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]]
 
[[Алгоритмы и структуры данных 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 * Экзамен

Лекции

записи лекций на ютубе

  1. 27 октября. Алгоритм. Сложность алгоритма. Анализ сложности. Асимптотические оценки. Сортировка вставками. Сортировка слиянием. Jupyterpdf Video
  2. 29 октября. Структуры данных. Динамический массив (list с append-ом). Стек. Очередь. Дек Jupyterpdf Video
  3. 3 ноября. Куча. Сортировка кучей. Jupyterpdf Video
  4. 5 ноября. Сортировка выбором. Сортировка пузырьком. Быстрая сортировка. Поиск k-й порядковой статистики. Jupyterpdf Video
  5. 10 ноября. Оценка снизу на сортировки сравнениями. Сортировка подсчётом. Цифровая сортировка. Jupyter pdf Video
  6. 12 ноября. Двоичный поиск. Троичный поиск. Jupyter pdf Video
  7. 17 ноября. Биномиальная куча, Фибоначчиева куча. Jupyterpdf Video
  8. 19 ноября. Контрольная работа.
  9. 24 ноября. Динамическое программирование. Числа Фибоначчи. Кузнечик, черепашка. Наибольшая возрастающая последовательность. Jupyterpdf Video
  10. 26 ноября. Динамическое программирование. Задача о выравнивании текста. Расстояние Левенштейна. Задача о рюкзаке. JupyterpdfVideo
  11. 3 декабря. Динамическое программирование по подмножествам. Задача о нескольких рюкзаках. Задача Коммивояжёра. JupyterpdfVideo
  12. 8 декабря. Хеш-таблицы. Разрешение коллизий с помощью списков. Открытая адресация. Jupyterpdf Video
  13. 10 декабря. Хеш-таблицы. Идеальное хеширование. Хеширование Кукушки. Фильтр Блума. JupyterpdfVideo
  14. 15 декабря. Дерево отрезков. Реализации сверху и снизу. JupyterpdfVideo
  15. 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. Домашнее задание 1 (дедлайн — 5 ноября; дедлайн со штрафом 50% — 12 ноября)
  2. Домашнее задание 2 (дедлайн — 12 ноября; дедлайн со штрафом 50% — 19 ноября)
  3. Домашнее задание 3 (дедлайн — 19 ноября; дедлайн со штрафом 50% — 26 ноября) Обратите внимание, что добавлена проверка решений на PEP8.
  4. Домашнее задание 4 (дедлайн — 3 декабря; дедлайн со штрафом 50% — 10 декабря)
  5. Домашнее задание 5 (дедлайн — 13 декабря; дедлайн со штрафом 50% — 17 декабря)
  6. Домашнее задание 6 (дедлайн — 20 декабря)
  7. Домашнее задание 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 (например, незачем реализовывать сортировку вручную, если можно воспользоваться встроенной).

Пересдачи экзамена

Семинары

Подгруппа 209-1