Уважаемые посетители ! Мы рады приветствовать Вас на нашем сайте!
На страницах сайта представлены все материалы курса "Алгоритмы и структуры данных", который изучается студентами факультета Прикладной информатики Кубанского государственного аграрного университета по специальностям 080801.65 - "Прикладная информатика (по областям), 230201.65 - "Информационные системы и технологии" и 080500.62 - "Бизнес-информатика"
Дисциплина читается студентам специальностей “Прикладная информатика (по областям)” и “Информационные системы и технологии” на втором курсе в третьем семестре, а студентам специальности "Бизнес-информатика" - на первом курсе во втором семестре.
Форма отчетности для всех специальностей - курсовой проект и экзамен.
Целью изучения дисциплины является ознакомление студентов с различными способами представления данных в оперативной памяти ЭВМ, с различными классами задач и типами алгоритмов, встречающихся при решении задач на современных ЭВМ.
В задачи изучения дисциплины входит изложение теоретических сведений, составляющих содержание дисциплины, и наработка практических навыков по исследованию алгоритмов различного типа.
Основные разделы дисциплины:
•1. Структуры данных.
•2. Алгоритмы поиска.
•3. Алгоритмы сортировки.
В первом разделе рассматриваются классификация структур данных, статические структуры – векторы, массивы, записи, таблицы, полустатистические структуры – стеки, деки, очереди, линейные динамические структуры – односвязные и двусвязные списки, нелинейные связные структуры – многосвязные списки, рекурсивные структуры данных – древовидные структуры, бинарные деревья, сбалансированные бинарные деревья .
Во втором разделе рассматривается классификация основных методов поиска. Изучаются последовательный, индексно-последовательный и бинарный поиск. Оценивается эффективность указанных методов поиска. С учетом вероятностного подхода представлены алгоритмы оптимизации поиска методами перестановки найденного элемента в начало и транспозиции. Также в разделе имеются алгоримы поиска по бинарному дереву со вставкой и удалением элемента. Проведена оценка эффективности алгоритма поиска по бинарному дереву.
В третьем разделе рассматриваются понятие и алгоритмы сортировки. Изучаются методы и алгоритмы сортировки массивов. Конкретно - сортировка с помощью прямого выбора, прямой вставки, прямого обмена как прямые методы, а сортировка Шелла (включений с уменьшающимися расстояниями) и быстрая сортировка - как улучшенные.
Для студентов специальности "Информационные системы и технологии", для которых учебным планом предусмотрено больше всего лекционного материала, имеется дополнительный раздел, в котором рассмотрено понятие и алгоритмы хеширования.
Для всех изучаемых структур данных, методов поиска, оптимизации поиска, сортировок алгоритмы реализации в теоретичексой (лекционной) части курса представлены в псевдокоде, в практической части курса - на языке программирования С++.
В курсе рассмотрены наиболее распространенные оперативные структуры данных, которые традиционно применяются при создании программных систем и комплексов. Структуры организации данных на внешних носителях в данном курсе не рассматриваются ввиду недостаточности количества отводимых учебной программой часов, однако получаемые после окончания изучения дисциплины студентами навыки являются вполне достаточными для самостоятельного изучения данного раздела.