МОВС Алгоритмы и структуры данных (2022-23, 4 модуль) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
м (inconsistency fix)
м (formating improvement)
 
(не показано 13 промежуточных версии этого же участника)
Строка 23: Строка 23:
  
 
==Материалы курса==
 
==Материалы курса==
 +
'''Форма обратной связи по курсу: ''' [https://docs.google.com/forms/d/e/1FAIpQLSdNLax-jgYFXb8-hQX4IHpRIitsBMGoFE9kIcZBrcv0o93PFQ/viewform?usp=sf_link Google Forms]
 +
 
Ссылка на плейлист курса на YouTube: [https://www.youtube.com/playlist?list=PLmA-1xX7IuzAZK-mc1jWogOw2ZgkkZFym YouTube-playlist]
 
Ссылка на плейлист курса на YouTube: [https://www.youtube.com/playlist?list=PLmA-1xX7IuzAZK-mc1jWogOw2ZgkkZFym YouTube-playlist]
  
Строка 39: Строка 41:
 
Статьи: [https://medium.com/@hazemu/finding-the-median-of-2-sorted-arrays-in-logarithmic-time-1d3f2ecbeb46 про поиск медианы двух массивов], [https://cp-algorithms.com/string/prefix-function.html#implementation про асимптотику префикс-функции]
 
Статьи: [https://medium.com/@hazemu/finding-the-median-of-2-sorted-arrays-in-logarithmic-time-1d3f2ecbeb46 про поиск медианы двух массивов], [https://cp-algorithms.com/string/prefix-function.html#implementation про асимптотику префикс-функции]
 
|-
 
|-
| style="background:#eaecf0;" | '''4''' [ [[ Запись (easy)]], [[ Запись (advanced)]]] || [[ Ноутбук]] Алгоритмы на графах || 15.05, 16.05 || ||  
+
| style="background:#eaecf0;" | '''4''' [ [https://www.youtube.com/watch?v=yCBaBA7Nrck&list=PLmA-1xX7IuzAZK-mc1jWogOw2ZgkkZFym Запись (easy)], [https://www.youtube.com/watch?v=09hvfizhjow&list=PLmA-1xX7IuzAZK-mc1jWogOw2ZgkkZFym Запись (advanced)]] || [[https://drive.google.com/file/d/1ZPNtt_il1iGZ51DMdYVjgeqcC7bKUVpo/view?usp=share_link Слайды (easy)], Слайды (advanced): [https://drive.google.com/file/d/1IQZXcax-GDp8moUHTKeIuE6ApHdH2KfV/view?usp=share_link 1] и [https://drive.google.com/file/d/1zIXgY6xva7DT4Tf9cJXV9Avfds-x65A4/view?usp=share_link 2]] Алгоритмы на графах || 15.05, 16.05 || ||  
 
|-
 
|-
| style="background:#eaecf0;" | '''5''' [ [[ Запись (easy)]], [[ Запись (advanced)]]] || [[ Ноутбук]] Алгоритмы на строках || 22.05, 23.05 || ||  
+
| style="background:#eaecf0;" | '''5''' [ [https://www.youtube.com/watch?v=wsTQ15ix4nw&list=PLmA-1xX7IuzAZK-mc1jWogOw2ZgkkZFym Запись (easy)], [https://www.youtube.com/watch?v=vClpo7fY8cw&list=PLmA-1xX7IuzAZK-mc1jWogOw2ZgkkZFym Запись (advanced)]] || [[https://drive.google.com/file/d/1rprHzBJhTb0v9FvBI44m2Gs8_6NnxPfJ/view?usp=drive_link Слайды (easy)], [https://drive.google.com/file/d/1wMp8NjukLLcquZXlHKo1lk41Hp3jUa0P/view?usp=drive_link Слайды (advanced)]] Интересные алгоритмы / Графы || 22.05, 23.05 || ||  
 
|-
 
|-
| style="background:#eaecf0;" | '''6''' [ [[ Запись (easy)]], [[ Запись (advanced)]]] || [[ Ноутбук]] Кодирование || 29.05, 30.05 || ||  
+
| style="background:#eaecf0;" | '''6''' [ [https://www.youtube.com/watch?v=c6G6gTVMHxY&list=PLmA-1xX7IuzAZK-mc1jWogOw2ZgkkZFym Запись (easy)], [https://www.youtube.com/watch?v=vGFn_7yRT30&list=PLmA-1xX7IuzAZK-mc1jWogOw2ZgkkZFym Запись (advanced)]] || [[https://drive.google.com/file/d/1ZiHwIdCy2C3dTfP1DOLfTXWM_TNquYyr/view?usp=drive_link Слайды (easy)], [https://drive.google.com/file/d/1FHfYxe7WaFq_33n0mPY7H8Q1ntAg_e7x/view?usp=drive_link Слайды (advanced)]] Теория графов / Потоки|| 29.05, 30.05 || || [https://drive.google.com/file/d/1_I01QLz3QZ3UCafFossZcTWZMJx7-843/view?usp=drive_link Ноутбук]
 
|-
 
|-
| style="background:#eaecf0;" | '''7''' [ [[ Запись (easy)]], [[ Запись (advanced)]]] || [[ Ноутбук]] || 05.06, 06.06 || ||  
+
| style="background:#eaecf0;" | '''7''' [ [https://www.youtube.com/watch?v=OEF6MMk2g-Y&list=PLmA-1xX7IuzAZK-mc1jWogOw2ZgkkZFym Запись (easy)], [https://www.youtube.com/watch?v=Xr0ymCQwVZQ&list=PLmA-1xX7IuzAZK-mc1jWogOw2ZgkkZFym Запись (advanced)]] || [[https://drive.google.com/file/d/1MSfRqyIhTkFk42987Qhh5SmcLDe6KVcw/view?usp=drive_link Слайды (easy)], [https://drive.google.com/file/d/1JjVde0kskM_MwN9KaMxGuRpemOQWM9hi/view?usp=drive_link Слайды (advanced)]] Поиск пути в графе / Кодирование и сжатие || 05.06, 06.06 || || [https://drive.google.com/file/d/1Pfcq0sLYxzJgHmiune2xQWe1OemB2_uf/view?usp=drive_link Ноутбук]
 
|-
 
|-
| style="background:#eaecf0;" | '''8''' [ [[ Запись (easy)]], [[ Запись (advanced)]]] || [[ Ноутбук]] || 12.06 (?), 13.06 || ||  
+
| style="background:#eaecf0;" | '''8''' [ [https://www.youtube.com/watch?v=Q6t4sFqmf7Q&list=PLmA-1xX7IuzAZK-mc1jWogOw2ZgkkZFym Запись (easy)], [https://www.youtube.com/watch?v=sPCYNtCGo9k&list=PLmA-1xX7IuzAZK-mc1jWogOw2ZgkkZFym Запись (advanced)]] || [[https://drive.google.com/file/d/1JHPRuXXNzFvTsUVfRix2PE4T7PMDSDqn/view?usp=drive_link Слайды (easy)], [https://drive.google.com/file/d/1yhRp2O_CqJARz7fvkXnTb21G55gcvIGH/view?usp=drive_link Слайды (advanced)]] Задача коммивояжера / Строки || 14.06, 13.06 || ||  
 
|-
 
|-
 
|}
 
|}
Строка 60: Строка 62:
 
Контесты -- 2-4 задачи по пройденной теме с дедлайном в ~ 2 недели
 
Контесты -- 2-4 задачи по пройденной теме с дедлайном в ~ 2 недели
 
# [https://contest.yandex.ru/contest/48838/standings Easy], дедлайн - '''30.04.23''' 23:59 МСК <br/> [https://contest.yandex.ru/contest/48722/standings Advanced], дедлайн - '''26.04.23''' 23:59 МСК
 
# [https://contest.yandex.ru/contest/48838/standings Easy], дедлайн - '''30.04.23''' 23:59 МСК <br/> [https://contest.yandex.ru/contest/48722/standings Advanced], дедлайн - '''26.04.23''' 23:59 МСК
# [https://contest.yandex.ru/contest/48930/standings Easy], дедлайн - '''02.05.23''' 23:59 МСК <br/> [https://contest.yandex.ru/contest/48953/standings Advanced], дедлайн - '''03.05.23''' 23:59 МСК
+
# [https://contest.yandex.ru/contest/48930/standings Easy], дедлайн - '''01.05.23''' 23:59 МСК <br/> [https://contest.yandex.ru/contest/48953/standings Advanced], дедлайн - '''02.05.23''' 23:59 МСК
# [https://contest.yandex.ru/contest/49182/standings Easy], дедлайн - '''12.05.23''' 23:59 GMT+3 <br/> [https://contest.yandex.ru/contest/49183/standings Advanced], дедлайн - '''12.05.23''' 23:59 GMT+3  
+
# [https://contest.yandex.ru/contest/49182/standings Easy], дедлайн - '''11.05.23''' 23:59 GMT+3 <br/> [https://contest.yandex.ru/contest/49183/standings Advanced], дедлайн - '''11.05.23''' 23:59 GMT+3  
#  
+
# [https://contest.yandex.ru/contest/49642/problems/ Easy], дедлайн - '''27.05.23''' 23:59 GMT+3 <br/> [https://contest.yandex.ru/contest/49677/standings Advanced], дедлайн - '''28.05.23''' 23:59 GMT+3
#
+
# [https://contest.yandex.ru/contest/49836/standings Easy], дедлайн - '''06.06.23''' 23:59 GMT+3 <br/> [https://contest.yandex.ru/contest/49835/standings Advanced], дедлайн - '''06.06.23''' 23:59 GMT+3
#
+
# [https://contest.yandex.ru/contest/49892/problems/ Easy], дедлайн - '''13.06.23''' 23:59 GMT+3 <br/> [https://contest.yandex.ru/contest/49895/standings Advanced], дедлайн - '''13.06.23''' 23:59 GMT+3
 +
# [https://contest.yandex.ru/contest/49893/problems/ Easy], дедлайн - '''20.06.23''' 23:59 GMT+3 <br/> [https://contest.yandex.ru/contest/49896/standings Advanced], дедлайн - '''20.06.23''' 23:59 GMT+3
 +
# ''Бонусный!'' [https://contest.yandex.ru/contest/49894/problems/ Easy], дедлайн - '''20.06.23''' 23:59 GMT+3 <br/> ''Бонусный!'' [https://contest.yandex.ru/contest/49576/standings Advanced], дедлайн - '''20.06.23''' 23:59 GMT+3
 +
 
 +
* Контест с задачами из контестов 1-7: [[https://contest.yandex.ru/contest/49891/standings Easy]], [[https://contest.yandex.ru/contest/49897/standings Advanced]], дедлайн - '''20.06.23''', в ведомость идёт с коэффициентом 0.8
 +
 
 +
== Экзамен ==
 +
[https://drive.google.com/file/d/1OL5YQyZldt-dBYGP_6CJdVzJt5Qpy2gY/view?usp=drive_link Билеты]
 +
 
 +
''Автоматы будут проставлены 22-го июня.''
 +
 
 +
'''Экзамен будет проходить следующим образом:'''
 +
# Вы приходите, между студентами распределяются билеты. Каждый содержит два вопроса по теории и одну задачу.
 +
# Вы готовитесь около 30 минут.
 +
# Рассказываете билет (нужно показать владение темой и понимание алгоритма). По алгоритму могут быть заданы вопросы. Лучше, если сможете показать пример работы алгоритма на конкретном примере. От вас не требуется реализации, можете привести пример кода/псевдокода. Будьте готовы показывать экран со своими пометками.
 +
# Объясняете решение задачи. От вас не требуется реализации, можете привести пример кода/псевдокода + главное, пояснить идею. Будьте готовы показывать экран со своими пометками. В задачах будьте внимательны, будьте готовы показать граничные случаи, оценить асимптотику своего решения.
  
 
== Литература ==
 
== Литература ==

Текущая версия на 14:09, 15 июня 2023

О курсе

Занятия проводятся в двух группах (попроще и посложнее) в Zoom по понедельникам и вторникам с 19:00 до 21:00

В этом году основной язык курса -- Python. Сдавать контесты можно и на др. ЯП. Лимиты меняться не будут

Контакты

Канал курса в TG: channel link

Чат курса в TG: chat link

Преподаватель: Горденко Мария Константиновна

Ассистент Контакты
Ника @nikaov7
Катя @KitKat01011

Материалы курса

Форма обратной связи по курсу: Google Forms

Ссылка на плейлист курса на YouTube: YouTube-playlist

Ссылка на папку с материалами курса: [GDrive]

Занятие Тема Дата Материалы для самоподготовки к семинарам Дополнительные материалы
1 [ Запись (easy), Запись (advanced)] [Слайды (easy), Слайды (advanced)] Асимптотика 14.04, 11.04
2 [ Запись (easy), Запись (advanced)] [Слайды (easy), Слайды (advanced)] Сортировки 17.04, 18.04 Ноутбуки с кодами сортировок и их тестирования: [1] и [2]
3 [ Запись (easy), Запись (advanced) ] [Слайды (easy), Слайды (advanced)] Методы поиска + Строки (advanced) 24.04, 25.04 Ноутбук

Статьи: про поиск медианы двух массивов, про асимптотику префикс-функции

4 [ Запись (easy), Запись (advanced)] [Слайды (easy), Слайды (advanced): 1 и 2] Алгоритмы на графах 15.05, 16.05
5 [ Запись (easy), Запись (advanced)] [Слайды (easy), Слайды (advanced)] Интересные алгоритмы / Графы 22.05, 23.05
6 [ Запись (easy), Запись (advanced)] [Слайды (easy), Слайды (advanced)] Теория графов / Потоки 29.05, 30.05 Ноутбук
7 [ Запись (easy), Запись (advanced)] [Слайды (easy), Слайды (advanced)] Поиск пути в графе / Кодирование и сжатие 05.06, 06.06 Ноутбук
8 [ Запись (easy), Запись (advanced)] [Слайды (easy), Слайды (advanced)] Задача коммивояжера / Строки 14.06, 13.06

Формула оценивания

Оценка = 0.6*Оконтесты + 0.4*Оустный экзамен

За экзамен предусмотрен автомат, если среднее по контестам >=8

Домашние задания

Контесты -- 2-4 задачи по пройденной теме с дедлайном в ~ 2 недели

  1. Easy, дедлайн - 30.04.23 23:59 МСК
    Advanced, дедлайн - 26.04.23 23:59 МСК
  2. Easy, дедлайн - 01.05.23 23:59 МСК
    Advanced, дедлайн - 02.05.23 23:59 МСК
  3. Easy, дедлайн - 11.05.23 23:59 GMT+3
    Advanced, дедлайн - 11.05.23 23:59 GMT+3
  4. Easy, дедлайн - 27.05.23 23:59 GMT+3
    Advanced, дедлайн - 28.05.23 23:59 GMT+3
  5. Easy, дедлайн - 06.06.23 23:59 GMT+3
    Advanced, дедлайн - 06.06.23 23:59 GMT+3
  6. Easy, дедлайн - 13.06.23 23:59 GMT+3
    Advanced, дедлайн - 13.06.23 23:59 GMT+3
  7. Easy, дедлайн - 20.06.23 23:59 GMT+3
    Advanced, дедлайн - 20.06.23 23:59 GMT+3
  8. Бонусный! Easy, дедлайн - 20.06.23 23:59 GMT+3
    Бонусный! Advanced, дедлайн - 20.06.23 23:59 GMT+3
  • Контест с задачами из контестов 1-7: [Easy], [Advanced], дедлайн - 20.06.23, в ведомость идёт с коэффициентом 0.8

Экзамен

Билеты

Автоматы будут проставлены 22-го июня.

Экзамен будет проходить следующим образом:

  1. Вы приходите, между студентами распределяются билеты. Каждый содержит два вопроса по теории и одну задачу.
  2. Вы готовитесь около 30 минут.
  3. Рассказываете билет (нужно показать владение темой и понимание алгоритма). По алгоритму могут быть заданы вопросы. Лучше, если сможете показать пример работы алгоритма на конкретном примере. От вас не требуется реализации, можете привести пример кода/псевдокода. Будьте готовы показывать экран со своими пометками.
  4. Объясняете решение задачи. От вас не требуется реализации, можете привести пример кода/псевдокода + главное, пояснить идею. Будьте готовы показывать экран со своими пометками. В задачах будьте внимательны, будьте готовы показать граничные случаи, оценить асимптотику своего решения.

Литература

  • Скиена С. -- Алгоритмы. Руководство по разработке
  • Кормен Т. -- Алгоритмы. Построение и анализ
  • Адитья Бхаргава -- Грокаем алгоритмы (неплохо для начала)
  • Дональд Кнут -- Искусство программирования (удачи, что ж)