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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Домашние задания)
Строка 45: Строка 45:
 
# [https://official.contest.yandex.ru/contest/23319/enter/ Домашнее задание 5] (дедлайн — <span style='color: red'>13 декабря</span>; дедлайн со штрафом 50% — 17 декабря)
 
# [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] (дедлайн — 17 декабря; дедлайн со штрафом 50% — 20 декабря)
 
# [https://official.contest.yandex.ru/contest/23566/enter/ Домашнее задание 6] (дедлайн — 17 декабря; дедлайн со штрафом 50% — 20 декабря)
 +
# [https://official.contest.yandex.ru/contest/23661/enter/ Домашнее задание 7] (дедлайн — 20 декабря)
  
Итоговая оценка за выполнение домашних заданий пропорциональна общему количеству решённых задач во всех домашних контестах (задачи, решённые после основного дедлайна, учитываются с весом 0.5).
+
Итоговая оценка за выполнение домашних заданий определяется по формуле <span style='color: red; font-weight: bold'>round((A + 0.5B - 2C) / 47 * 10)</span>, где:
В момент появления последнего набора домашних задач также будут объявлены:
+
* A — количество задач, сданных до дедлайнов;
* Количество решённых задач, требующееся для получения итоговой оценки 10 баллов (это количество будет меньше общего количества задач во всех домашних контестах);
+
* B — количество задач, сданных после дедлайнов;
* Величина штрафа за нарушение академических норм. Повторное нарушение влечёт повторный штраф.
+
* C — количество штрафных баллов за нарушение академических норм.
 +
Итоговая оценка за выполнение домашних заданий выражается целым числом от 0 до 10 (если результат получился меньше 0 или больше 10, то он заменяется на 0 или 10 соответственно).
 +
 
 +
Всего в домашних заданиях было выдано 52 задачи. Для получения итоговой оценки 10 достаточно решить 47 из них.
  
 
== Семинары ==
 
== Семинары ==
  
 
[[Алгоритмы и структуры данных 1 2020/2021 Семинары 209-1|Подгруппа 209-1]]
 
[[Алгоритмы и структуры данных 1 2020/2021 Семинары 209-1|Подгруппа 209-1]]

Версия 23:16, 14 декабря 2020

Лектор: Сергей Мельников

Контакты: 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

Контрольная работа 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 (дедлайн — 17 декабря; дедлайн со штрафом 50% — 20 декабря)
  7. Домашнее задание 7 (дедлайн — 20 декабря)

Итоговая оценка за выполнение домашних заданий определяется по формуле round((A + 0.5B - 2C) / 47 * 10), где:

  • A — количество задач, сданных до дедлайнов;
  • B — количество задач, сданных после дедлайнов;
  • C — количество штрафных баллов за нарушение академических норм.

Итоговая оценка за выполнение домашних заданий выражается целым числом от 0 до 10 (если результат получился меньше 0 или больше 10, то он заменяется на 0 или 10 соответственно).

Всего в домашних заданиях было выдано 52 задачи. Для получения итоговой оценки 10 достаточно решить 47 из них.

Семинары

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