Бакалавриат
2024/2025
Алгоритмы и структуры данных
Статус:
Курс обязательный (Компьютерные технологии, системы и сети)
Направление:
09.03.01. Информатика и вычислительная техника
Кто читает:
Департамент информатики
Когда читается:
1-й курс, 1-4 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Овчинников Андрей Анатольевич
Язык:
русский
Кредиты:
6
Программа дисциплины
Аннотация
Дисциплина является дисциплиной 1 семестра и базируется на школьных знаниях математики и информатики.Основные положения дисциплины должны быть использованы в дальнейшем при изучении следующих дисциплин: «Методы и технологии программирования», «Объектно-ориентированное программирование», «Программирование на языке Phython», «Программирование на языке Verilog», «Системное программирование», «Архитектура ЭВМ». «Базы данных».
Цель освоения дисциплины
- Формирование у студентов теоретических знаний и практических навыков в области теории алгоритмов, современных структур данных для построения математических моделей дискретных структур и разработки программного обеспечения.
Планируемые результаты обучения
- Знает методы оценки сложности алгоритмов в среднем и в худшем случаях, базовые и продвинутые абстрактные структуры данных, постановки основных задач, основные классы алгоритмов.
- Умеет оценивать сложность алгоритмов в среднем и в худшем случаях, выделять из практических задач их алгоритмическую составляющую, реализовывать изученные алгоритмы и структуры данных на процедурных языках программирования, выбирать оптимальные алгоритмы и структуры данных, в зависимости от конкретных ограничений на решение задачи, применять приближённые алгоритмы в тех случаях, когда эффективное точное решение невозможно.
- знает основные подходы к разработке алгоритмов, алгоритмы решения основных задач сортировки, поиска, теории графов
Содержание учебной дисциплины
- 1. Основные методы разработки алгоритмов
- 2. Основные методы анализа алгоритмов
- 3. Структуры данных
- 4. Алгоритмы сортировки
- 5. Алгоритмы поиска
- 6. Базовые алгоритмы на графах
- 7. Исчерпывающий поиск
- 8. Дополнительные алгоритмы на графах
- 9. Быстрые алгоритмы умножения
- 10. Элементы теории сложности алгоритмов
Промежуточная аттестация
- 2024/2025 2nd module0.25 * Домашнее задание + 0.25 * Домашнее задание + 0.25 * Коллоквиум + 0.25 * Экзамен №1
- 2024/2025 4th module0.25 * Домашнее задание + 0.25 * Домашнее задание + 0.25 * Коллоквиум + 0.25 * Экзамен №2
Список литературы
Рекомендуемая основная литература
- Алгоритмы: построение и анализ : пер.с англ., Кормен, Т., 2013
- Бабенко, М. А. Введение в теорию алгоритмов и структур данных / М. А. Бабенко, М. В. Левин. — Москва : МЦНМО, 2016. — 144 с. — ISBN 978-5-4439-2396-3. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/80136 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Основы теории и алгоритмы на графах - Гданский Н.И. - НИЦ ИНФРА-М - 2022 - https://znanium.com/catalog/product/1817957 - 987335 - ZNANIUM
Рекомендуемая дополнительная литература
- Shen, A. (2017). Программирование: теоремы и задачи. France, Europe: HAL CCSD. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.DC8C2E95
- Шень, А. Программирование: теоремы и задачи : учебное пособие / А. Шень. — Москва : МЦНМО, 2011. — 296 с. — ISBN 978-5-94057-696-9. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/9445 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.