Цели и задачи дисциплины
Цель: формирование устойчивого алгоритмического мышления; исследование фундаментальных свойств алгоритмов; изучение структур данных и методов работы с ними.
Задачи:
Изучить типовые структуры данных и методы их обработки, применяемые в области прикладного программного обеспечения.
Научиться выбирать структуры данных, соответствующие требуемой эффективности и ограничениям конкретных прикладных и системных задач.
Научиться применять изученные алгоритмы и сложные структуры данных, на примере конкретных задач.
Краткое содержание дисциплины
Абстрактные структуры данных (АТД). Линейные АТД. Представление стека, очереди, последовательности. Нелинейные и рекурсивные структуры данных. Деревья. Представление множества и ассоциативного массива. Представление полиномов и быстрое преобразование Фурье. Представление матриц. Представление графов. Алгоритмы на графах. Алгоритмы для внешней памяти. Строковые алгоритмы. Представление геометрических объектов и алгоритмы вычислительной геометрии. Структуры данных для задач искусственного интеллекта.
Компетенции обучающегося, формируемые в результате освоения дисциплины
ОПК-2
Способен применять методы математического и алгоритмического моделирования, современный математический аппарат в научно-исследовательской и опытно-конструкторской деятельности
ОПК-12
Способен разрабатывать алгоритмы и программы, пригодные для практического использования, применять основы информатики и программирования к проектированию, конструированию и тестированию программных продуктов