Алгоритмы и структуры данных. Подгруппа 101-1
Содержание
Примерный план семинаров
- Основы проектирования и написание интерфейсов
- Тестирование программ
- Сортировки и гарантированный n log n для qsort
- Метод ветвей и границ и общее понятие метрики качества
- Быстрое преобразование Фурье
- Динамическое программирование
- Контекстно-свободные грамматики
- Симплекс-метод
- Потоки, динамические деревья, splay-деревья
- Хеширование
- Жадные алгоритмы
- Вероятностные алгоритмы
Планы на будущее:
- Конечные автоматы
Введение
В течение семестра мы будем обсуждать алгоритмы решения различных задач.
Начнем мы с совсем простой задачи на сортировку про футбольную команду.
На ее примере мы научимся
- Работать с системой контроля версий
- Писать тесты к вашим программам
Очередность сдачи задач
- Алгоритм, обоснование корректности, оценки времени и памяти на почту finisterra@yandex.ru
- Сдача задачи в Яндекс.Контест
- Правка интерфейса по результатам ревью
- Правка кода по результатам ревью
Теория
Теорию необходимо отправлять в pdf, учитесь пользоваться ТеХом.
Яндекс.Контест
Контест доступен по адресу
https://official.contest.yandex.ru/contest/1005/
Репозиторий
Наш проект на code.google.com живет тут
https://code.google.com/p/1011-group-trunk/
Для работы с ним требуется аккаунт Google.
Посмотреть пароль к системе code.google.com можно на странице
https://code.google.com/hosting/settings
Репозиторий доступен по адресу
svn checkout https://1011-group-trunk.googlecode.com/svn/trunk/ 1011-group-trunk --username username --password password
Где вместо username надо подставить имя вашего аккаунта, а вместо password - пароль от системы code.google.com
Первое домашнее задание
Сроки проведения: с 26 января по 9 февраля.
Ссылка на контест:
https://official.contest.yandex.ru/contest/1002/
Сдача задач состоит из двух этапов: решения задачи в системе и прохождения ревью.
Сдавать задачи надо в контест в системе Яндекс.Контест, а ревью проходится с помощью code.google.com.
Второе домашнее задание
Сроки проведения: с 17:00 24 февраля по 23:59 9 марта.
Ссылка на контест:
https://official.contest.yandex.ru/contest/1085/
Вновь половину балов вы получите за сдачу задач в контест, а вторую половину - за прохождение ревью.
Не затягивайте с ним, потому что я физически не успею проверить вас всех в конце семестра!
Всего решить надо три задачи: 1-2 (количество путей), 2-2 (maze) и 3 (segments).
Третье домашнее задание
Сроки проведения: с 23:00 19 апреля по 23:00 4 мая.
Сроки сдачи ревью: c 23:00 4 мая по 23:00 23 мая.
Ваш номер варианта - это номер в алфавите третьей буквы вашей фамилии, взятый по модулю два и увеличенный на 1. Например, у меня фамилия меЛьничук - 13-я буква, значит, у меня второй вариант.
Третью задачу необходимо снабдить доказательством корректности алгоритма. Коммитить его надо вместе с кодом в svn.
Ссылка на контест:
https://official.contest.yandex.ru/contest/1196/enter/
Половину балов вы получите за сдачу задач в контест, а вторую половину - за прохождение ревью.
Текущие результаты
Фамилия | Имя | Отчество | ДЗ-1 | ДЗ-2 | ДЗ-3 | ДЗ-4 | ДЗ-5 | Accum | Exam | Sum | |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | Гущенко-Чеверда | Иван | Ильич | 6/6 | 3/3 | 3/3 без ревью | |||||
2 | Деркач | Денис | Анатольевич | 5/6 | 3/3 | 3/3 | |||||
3 | Исхаков | Тимур | Рашидович | 6/6 | 3/3 | 3/3 без ревью | |||||
4 | Кузнецов | Георгий | Алексеевич | 6/6 без ревью | 2/3 без ревью | ||||||
5 | Мельниченко | Пётр | Валерьевич | 4/6 без ревью | 1/3 без ревью | ||||||
6 | Носков | Степан | Алексеевич | 6/6 без ревью | 3/3 без ревью | ||||||
7 | Пособин | Глеб | Игоревич | 6/6 | 3/3 | 3/3 | |||||
8 | Пролеев | Лев | Николаевич | 6/6 | 3/3 | 3/3 без ревью | |||||
9 | Рябушев | Антон | Федорович | 6/6 | 3/3 без ревью | 3/3 без ревью | |||||
10 | Сайранов | Айдар | Дамирович | 6/6 без ревью | 3/3 без ревью | 3/3 | |||||
11 | Святокум | Полина | Олеговна | 6/6 без ревью | 3/3 | 3/3 без ревью | |||||
12 | Султанов | Арсен | Русланович | 6/6 без ревью | 1/3 без ревью | ||||||
13 | Трофимов | Иван | Андреевич | 6/6 без ревью | 3/3 без ревью |
Результаты контрольной
Фамилия | Имя | Отчество | 1 | 2 | 3 | 4 | 5 | |
---|---|---|---|---|---|---|---|---|
1 | Гущенко-Чеверда | Иван | Ильич | + | + | + | + | + |
2 | Деркач | Денис | Анатольевич | - | + | +- | + | + |
3 | Исхаков | Тимур | Рашидович | + | - | + | + | + |
4 | Кузнецов | Георгий | Алексеевич | - | - | - | + | +- |
5 | Мельниченко | Пётр | Валерьевич | + | + | + | + | - |
6 | Носков | Степан | Алексеевич | - | + | + | + | |
7 | Пособин | Глеб | Игоревич | + | + | + | + | + |
8 | Пролеев | Лев | Николаевич | + | + | + | + | +- |
9 | Рябушев | Антон | Федорович | - | + | + | + | |
10 | Сайранов | Айдар | Дамирович | + | + | + | + | + |
11 | Святокум | Полина | Олеговна | + | + | + | + | |
12 | Султанов | Арсен | Русланович | |||||
13 | Трофимов | Иван | Андреевич | + | +- | +- | + | + |
Если видите какие-то ошибки в заполнении таблицы, сообщайте, я мог что-то упустить.