- Цели и задачи дисциплины
- Целью данного курса является изучение основных структур данных и алгоритмов, которые могут быть полезны, как для развития алгоритмического мышления, так и для практического применения полученных знаний при разработке программного обеспечения. Основные задачи изучения дисциплины включают: изучение элементов теории структур данных и сложности алгоритмов; изучение методов обработки данных (поиск, сортировка, рекурсия); выбор структуры данных для решения поставленной задачи; построения алгоритмов решения конкретных задач, оценки их сложности, эффективности, трудоемкости.
- Краткое содержание дисциплины
- В рамках данной дисциплины изучаются: абстрактный тип данных (спецификация, представление, реализация); линейные структуры данных (стек, очередь, дек, массив, списки, структуры); нелинейные структуры данных (мультисписки, слоёные списки, деревья, леса, графы); табличные структуры данных; преобразование (нормализация, агрегирование, векторизация) данных; чистка (пропущенных, повторяющихся) данных; анализ сложности и эффективности алгоритмов поиска и сортировки; поиск данных в линейный структурах (линейный, двоичный, интерполяционный) и в текстах (прямой, алгоритм Кнута - Морриса - Пратта, алгоритм поиска строки Бойера - Мура); хеширование; алгоритмы сортировки (методы разработки алгоритмов, параметры оценки эффективности, примеры алгоритмов).
- Компетенции обучающегося, формируемые в результате освоения дисциплины
- Выпускник должен обладать:
- ОПК-6 Способен разрабатывать алгоритмы и программы, пригодные для практического использования, применять основы информатики и программирования к проектированию, конструированию и тестированию программных продуктов
- ПК-6 (ПК-7 модели) Способен осуществлять сбор и подготовку данных для систем искусственного интеллекта
- Образование
- Учебный план 09.03.04, 2023, (4.0), Программная инженерия
- Структуры и алгоритмы обработки данных