Цели и задачи дисциплины
В результате изучения дисциплины студенты должны иметь представление:
- об основных типах структур данных, применяемых при создании программ различного назначения;
- о различных способах отображения структур данных на структуры хранения;
- об организации списочных структур – линейных и нелинейных, и методах работы с ними;
- об использовании списков для представления массивов, стека, очереди, деревьев, таблиц;
- о методах представления таблиц (куча, сортированные, древовидные, hash);
- об оценке сложности алгоритмов.
Краткое содержание дисциплины
В курсе изучаются абстрактные типы данных и методы их реализации на языке С++ с учетом принципов объектно-ориентированного конструирования программ. Основное внимание уделяется алгоритмам обработки данных сложной структуры, включая графы и деревья. Рассматриваются также элементы теории алгоритмов, формальных языков и грамматик, а также вопросы синтаксического анализа по регулярным и контекстно-свободным грамматикам. Затрагиваются вопросы оценки сложности алгоритмов и принципы построения системного программного обеспечения, реализующего алгоритмы обработки данных. Теоретический материал курса подкрепляется практическими занятиями по программированию на языке С++ заданий по изучаемой тематике
Компетенции обучающегося, формируемые в результате освоения дисциплины
ОПК-6
Способен разрабатывать алгоритмы и программы, пригодные для практического использования, применять основы информатики и программирования к проектированию, конструированию и тестированию программных продуктов