Бакалавриат
2025/2026


Алгоритмы и структуры данных
Статус:
Курс обязательный (Компьютерные науки и технологии)
Когда читается:
1-й курс, 2-4 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
8
Контактные часы:
108
Программа дисциплины
Аннотация
Дисциплина "Алгоритмы и структуры данных" знакомит студентов с базовыми алгоритмами, теорий сложности, а также структурами данных. В курсе рассматриваются вопросы поиска данных, их хранения, построение, анализ алгоритмов и их использование для эффективного решения разнообразных задач.
Цель освоения дисциплины
- Знакомство с существующими алгоритмами для решения различных задач
- Знакомство с существующими структурами данных и их основными операциями
- Получение навыков проектирования, анализа и тестирования алгоритмов
Планируемые результаты обучения
- Анализировать алгоритмы, оценивать их эффективность для различных входных данных и ситуаций, а также определять скорости роста алгоритмов.
- Реализовывать и использовать динамические структуры данных: списки, стеки и очереди
- Объяснять концепцию разреженных данных и массивов, а также описывать различные форматы их хранения, включая разреженный строчный и разреженный ленточный форматы.
- Объяснять принципы рекурсивных алгоритмов и применять методы рекурсии для решения типовых задач.
- Описывать и применять простые алгоритмы поиска, включая полный перебор и его варианты, а также поиск в статических таблицах.
- Классифицировать простые алгоритмы сортировки и описывать принципы работы сортировки вставками, пузырьковой сортировки и сортировки обменами.
- Объяснять принципы работы и применять классические алгоритмы шифрования, такие как метод Цезаря, Трисемуса, Гронсфельда, Плейфера и Уитстона.
Содержание учебной дисциплины
- Введение в алгоритмы и структуры данных.
- Анализ алгоритмов.
- Динамические структуры данных.
- Разреженные массивы. Разреженные данные. Разреженный строчный формат хранения данных, разреженный ленточный формат хранения данных
- Введение в рекурсивные алгоритмы.
- Простые алгоритмы поиска. Полный перебор, его варианты. Поиск в статических таблицах
- Простые алгоритмы сортировки. Классификация алгоритмов сортировки. Сортировка вставками, пузырьковая и обменами.
- Классические алгоритмы шифрования. Метод Цезаря, Трисемуса, Гронсфельда, Плейфера, Уитстона.
- Рекурсивные алгоритмы. Прохождения деревьев в ширину и глубину. Решение с помощью рекурсии головоломок и игр.
- Методы поиска. Динамические таблицы. АВЛ деревья, В деревья, декартовые деревья.
- Методы хеширования. Идеальное хеширование. Алгоритмы хэширования. Методы разрешения коллизий. Фильтры Блюма.
- Алгоритмы сортировки. Быстрая сортировка. Пирамидальная сортировка, внешняя сортировка. Лексикографическая сортировка. Медианы и порядковые статистки.
- Алгоритмы на графах. Алгоритмы потоков в сетях, PageRank. Раскраска карт.
- Жадные алгоритмы. Методы решения задач с помощью жадных алгоритмов.
- Алгоритмы оптимизации. Генетический алгоритм, метод отжига.