Бакалавриат
2022/2023
Алгоритмы и структуры данных 2
Статус:
Курс обязательный (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Когда читается:
2-й курс, 1-4 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
6
Контактные часы:
120
Программа дисциплины
Аннотация
Дисциплина "Алгоритмы и структуры данных» относится к блоку дисциплин специализации профессиональной подготовки бакалавра.
В рамках дисциплины мы формируем умение мыслить и искать решения для абстрактных задач, способность ясно выражать свои мысли в коде, знание базовых алгоритмов и структур данных, умение оценивать сложность полученного решения.
Цель освоения дисциплины
- • Формирование у студентов профессиональных компетенций, связанных с использованием теоретических знаний в области теории алгоритмов и теории сложности вычислений
- • Получение практических навыков в области разработки ресурсно-эффективных алгоритмов на основе теоретического анализа
- • Получение студентам навыков самостоятельной исследовательской работы, предполагающей изучение специфических методов анализа алгоритмов, инструментов и средств, необходимых для решения актуальной, в аспекте программной инженерии, задачи выбора рациональных алгоритмов, в зависимости от особенностей применения разрабатываемых программ
- • Создание прочного программистско-алгоритмический базис, основываясь на котором, можно решать достаточно сложные алгоритмические задачи. При прохождении курса студенты должны решить несколько десятков задач, каждая из которых иллюстрирует либо отдельные алгоритмы, либо их композицию. Основной принцип, проводимый в курсе — необходимость применения принципа разделения задачи на более простые подзадачи — классическую триаду «анализ, декомпозиция, синтез» осведомиться о современных тенденциях в разработке структур данных
Планируемые результаты обучения
- знать дополнительные структуры данных (опционально)
- знать древовидные структуры данных
- знать основы асимптотического анализа сложности алгоритмов
- знать принципы хэширования и хэш таблиц
- ориентироваться в современных тенденциях разработки структур данных
- Знать классификацию алгоритмов
- Знать метод декомпозиции и метод динамического программирования как методы разработки эффективных алгоритмов
- Знать методы анализа алгоритмов в итерационной и рекурсивной реализации
- Знать основные алгоритмы.
- знать структуры данных стек, список, очередь и другие
- Уметь оценивать временную эффективность алгоритмов
- Уметь оценивать сложность алгоритмов
- Уметь проводить анализ алгоритмов, оценивать компьютерные алгоритмы с использованием комплексных критериев качества, в том числе оценивать ресурсную эффективность алгоритмов
Содержание учебной дисциплины
- Сложности. Поиск.
- Сложности
- Структуры данных на указателях
- Структуры данных на массивах
- Балансировка деревьев
- Структуры данных hash
- Структуры данных прочие
- Разбор задач на структурах
- Сортировки
- Графы
- Графы Графы – деревья Графы - поиск в ширину и связанности Графы - поиск в глубину Графы - ориентированные
- Графы 2
- Графы 3
- Динамика база, Динамика и РиВ, Динамика
- Строки
- Геометрия
Элементы контроля
- Контрольная работа 0,09
- Лабораторная работа 0,02 блокирующая
- Контрольная работа 0,09
- Лабораторная работа 0,02 блокирующаяБлокирует только накопительную часть оценки
- Контрольная работа 0.09Контрольная работа
- Экзамен 0,2 - зимняя сессияЭкзамены принимаются только на зачетной неделе, расписание согласуется с учебным отделом. при форс-мажорных обстоятельствах изменение даты экзамена только при уведомлении учебного офиса.
- Экзамен 0,4 летняя сессияО итог = х*ТК + y*Оэкзам. где 0,2<=х,y, х+у = 1
Промежуточная аттестация
- 2022/2023 учебный год 2 модульОитог = x * ТК + y * Оэкзам, Оэкзам= 0, 7 ТК = ОКр1 + Олаб, Стоимость текущего контроля: Окр1= 0,25 Олаб1=0,05
- 2022/2023 учебный год 4 модульОитог = x * ТК + y * Оэкзам, Оэкзам= 0, 7 ТК = ОКр+ Олаб, Стоимость текущего контроля: Окр сумм= 0,25 Олаб сумм=0,05
Список литературы
Рекомендуемая основная литература
- Головешкин, В. А. Теория рекурсии для программистов / В. А. Головешкин, М. В. Ульянов. — Москва : ФИЗМАТЛИТ, 2006. — 292 с. — ISBN 5-9221-0721-6. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/2165 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Петрушин, В. Н. Информационная чувствительность компьютерных алгоритмов : учебное пособие / В. Н. Петрушин, М. В. Ульянов. — Москва : ФИЗМАТЛИТ, 2010. — 224 с. — ISBN 978-5-9221-1264-2. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/2275 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Ульянов, М. В. Ресурсно-эффективные компьютерные алгоритмы. Разработка и анализ : учебное пособие / М. В. Ульянов. — Москва : ФИЗМАТЛИТ, 2008. — 304 с. — ISBN 978-5-9221-0950-5. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/2354 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Рекомендуемая дополнительная литература
- Prabhu, C. S. R. (2019). Fog Computing, Deep Learning and Big Data Analytics-Research Directions. Singapore: Springer. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1994845