Алгоритмы и структуры данных. Подгруппы 102-1, 102-2, 107-2 — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Общая информация: Часы консультаций)
(Материалы семинаров 1-7)
Строка 63: Строка 63:
 
=== Семинар 0 (12.01). Ханойские башни. ===
 
=== Семинар 0 (12.01). Ханойские башни. ===
  
На семинаре разбиралась задача о Ханойских башнях, ее рекурсивное решение, подсчитывалось время работы и доказывалась оптимальность. Также предлагалось запрограммировать этот алгоритм на любом языке.
+
Разбиралась задача о Ханойских башнях, ее рекурсивное решение, подсчитывалось время работы и доказывалась оптимальность. Также предлагалось запрограммировать этот алгоритм на любом языке.
  
 
=== Семинар 1 (14.01 и 15.01). Сортировка слиянием. ===
 
=== Семинар 1 (14.01 и 15.01). Сортировка слиянием. ===
 +
 +
Разбирался алгоритм сортировки слиянием и были предложены [https://www.dropbox.com/s/zrepl1pux85lksk/problems1.pdf?dl=0 задачи].
  
 
=== Семинар 2 (19.01). Двоичный поиск. ''O''-символика. ===
 
=== Семинар 2 (19.01). Двоичный поиск. ''O''-символика. ===
  
 +
Разбирались ''O''-обозначения, были предложены [https://www.dropbox.com/s/tziw5ph14q0eav2/problems-2.pdf?dl=0 задачи].
 
=== Семинар 3 (21.01 и 22.01). ''O''-символика. Разные задачи ===
 
=== Семинар 3 (21.01 и 22.01). ''O''-символика. Разные задачи ===
 +
 +
Разбирался алгоритм быстрой сортировки. Были предложены [https://www.dropbox.com/s/35o711jgh1j301x/problems-3.pdf?dl=0 задачи].
 +
 +
=== Семинар 4 (26.01). Рекуррентные соотношения ===
 +
 +
Разбиралась основная теорема о рекуррентных соотношениях и примеры ее применения. Были предложены [https://www.dropbox.com/s/23aqpi29q1cwqn0/problems-4.pdf?dl=0 задачи].
 +
 +
=== Семинар 5 (28.01 и 29.01). ===
 +
 +
Разбирались задачи с прошлых семинаров.
 +
 +
=== Семинар 6 (02.02) ===
 +
 +
Разбирался алгоритм выбора порядковой статистики и алгоритм быстрого возведения в степень. Также разбирались задачи с прошлых семинаров.
 +
 +
=== Семинар 7 (04.02 и 05.02). Динамическое программирование. ===
 +
 +
Разбиралась задача о взвешенных интервалах и были предложены [https://www.dropbox.com/s/zt65wv5n6g6i5ta/problems-7.pdf?dl=0 задачи].

Версия 10:50, 4 февраля 2015

Общая информация

Семинары ведет Умнов Алексей

Часы консультаций:

  • Понедельник: 15:45 - 16:30
  • Среда: 18:15 - 19:00

Решения задач с семинаров

Код для задач по программированию можно присылать на адрес alexeyum@gmail.com.

Тему письма оформляйте по такому шаблону (иначе письмо может потеряться):

"АиСД - <Номер семинара>.<номер задачи> - <Подгруппа> <Фамилия> <Имя>".

Пример: "АиСД - 2.1 - 123-1 Умнов Алексей".

Не забывайте писать тесты к задачам (как обсуждалось на семинарах) и указывать версию компилятора/интерпретатора.

Стиль кода

Код должен соответствовать стайлгайду, принятому на курсе Основы_и_методологии_программирования.

Также есть дополнительные правила:

  • Запрещено использовать глобальные переменные.

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

Правила ревью

Алгоритм сдачи задачи такой:

1. Сдайте задачу в контест.

2. Отправьте исходный код (в точности тот, что был в контесте) на ревью с помощью rb.cs.hse.ru.

В заголовке ревью напишите "Дз<номер>.<буква/номер задачи> <подгруппа> <Фамилия Имя>". Ревьювером укажите "alexeyum".

Не забудьте нажать "Publish", чтобы отправить запрос на ревью.

3. Дождитесь ответа на ревью. Если ответа нет в течение 5 дней, то пишите об этом на alexeyum@gmail.com.

4. Если вы получили "Ship It", значит задача сдана. Если нет, то необходимо сделать все указанные в ревью исправления.

5. Сдайте исправленный код в контест, а потом загрузите его на ревью. Перейдите к шагу 3.

Задание 1

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

Решение можно писать на C++ или на Python. Код должен соответствовать стайлгайду, принятому на курсе Основы_и_методологии_программирования.

За каждую задачу в задании можно получить до 10/6 баллов. Для этого нужно сдать решение в контест и пройти полное ревью. Если ревью пройдено частично, то за задачу будет начислен неполный балл.

Итоговая сумма будет округляться вверх.

Занятия

Семинар 0 (12.01). Ханойские башни.

Разбиралась задача о Ханойских башнях, ее рекурсивное решение, подсчитывалось время работы и доказывалась оптимальность. Также предлагалось запрограммировать этот алгоритм на любом языке.

Семинар 1 (14.01 и 15.01). Сортировка слиянием.

Разбирался алгоритм сортировки слиянием и были предложены задачи.

Семинар 2 (19.01). Двоичный поиск. O-символика.

Разбирались O-обозначения, были предложены задачи.

Семинар 3 (21.01 и 22.01). O-символика. Разные задачи

Разбирался алгоритм быстрой сортировки. Были предложены задачи.

Семинар 4 (26.01). Рекуррентные соотношения

Разбиралась основная теорема о рекуррентных соотношениях и примеры ее применения. Были предложены задачи.

Семинар 5 (28.01 и 29.01).

Разбирались задачи с прошлых семинаров.

Семинар 6 (02.02)

Разбирался алгоритм выбора порядковой статистики и алгоритм быстрого возведения в степень. Также разбирались задачи с прошлых семинаров.

Семинар 7 (04.02 и 05.02). Динамическое программирование.

Разбиралась задача о взвешенных интервалах и были предложены задачи.