#Рекомендации по выполнению домашниего задания по курсу "Алгоритмы и структуры данных"
Внимание, следование этому руководству позволит быстрее справиться с заданиями.
##1. Стиль.
##2. Самостоятельная проверка решения.
##3. Порядок решения задач ###3.1 Общий алгоритм решения
- Решение каждой задачи должно быть продуктом собственного труда каждого учащегося. Запрещается использовать листинги программ, взятых из каких либо источников, кроме явно указанных семинаристом или лектором. Если вы используете заготовку кода с семинара, необходимо разобраться как она работает. Оптимальным вариантом будет написание всего кода самостоятельно.
- Придумайте какие структуры данных и алгоритмы вы будете использовать для решения задачи. Какие их свойства являются коючевыми?
- Сделайте асимптотические оценки времени выполнения и затрат памяти. Убедитесь, что они удовлетворяют условию задачи.
- Напишите письмо преподавателю. В письме опишите решение в нескольких предложениях на русском языке. Описание не должно быть программой, а скорее отвечать на вопрос: "как вы решите задачу?" Приведите оценки времени/памяти.
- После одобрания решения семинаристом, приступайте к реализации алгоритма на C++. Придерживайтесь рекомендованного стиля кодирования и напишите собственные тесты для проверки решения.
- Убедитесь, что программа компилируется и написанные вами тесты проходят.
- Сдайте задачу в систему проверки ejudge.
- Сдайте задачу семинаристу очно или по почте.
###3.2 Отправка решения на проверку семинаристу: По договоренности с преподавателем, задачи можно сдавать лично после семинара или дистанционно по почте. Для того чтобы задача была зачтена, она должна пройти тесты в автоматической системе проверки и получить вердикт "ОК". Начинайте тему письма с префикса "TP". Указывайте в теме письма свои Фамилию Имя, номер задания, номер задачи, номер варианта. Например так: "TP: Иванов Иван m1 p4 v2" Отправляйте все письма по одной задаче в одной цепочке писем.
Разные задачи, отправляйте в разных письмах.
В письме приведите описание решения по пунктам из 3.1, приведите оценки сложности. Приведите доказательство корректности вашего алгоритма, если это не очевидно по построению. Код присылать не нужно. Он доступен преподавателю в системе тестирования. Достаточно указать run-id решения, сданного в систему тестирования.
##4. Успевайте вовремя Дедлайн по каждому модулю прописывается в задании. Обычно это дата последнего семинара перед РК + 2 недели. Т.е. начальные задачи модуля можно решать 4 недели, последние 2 недели. Р После дедлайна задачи не принимаются.
Рекомендуется приступать к решению задачи не позднее 1 недели после семинара, на котором рассказывался соотвествующий материал.