- •Понятие о структуре данного. Уровни представления структур данных.
- •Классификация сд в программах пользователя и в памяти эвм
- •Сд в оперативной памяти
- •Сд типа массив.
- •Сд типа запись (прямое декартово произведение).
- •Сд типа таблица.
- •Операции над таблицей:
- •Временная сложность алгоритмов.
- •Сд типа хеш-таблица.
- •Операция включения элемента в таблицу.
- •Операция исключения элемента из таблицы:
- •Сортировки. Улучшенные методы сортировок.
- •Классификация задач по временной сложности.
- •Сд типа стек.
- •Алгоритм сортировки Хоара (стек используется для хранения границ сортируемой области в таблице):
- •Сд типа очередь.
- •Связное распределение памяти.
- •Сд типа линейный односвязный список.
- •Сд типа указатель.
- •Статические и динамические переменные.
- •Сд типа циклический линейный список.
- •Сд типа двусвязный линейный список.
- •Сд типа дек.
- •Многосвязные списки.
- •Средства объектно-ориентированного программирования.
- •Объекты и свойства инкапсуляции.
- •Наследование и переопределение.
- •Полиморфизм. Виртуальные методы.
- •Динамические объекты. Деструкторы.
- •Обработка ошибок при работе с динамическими объектами.
- •Модули, экспортирующие объекты.
- •Нелинейные структуры данных.
- •Сд типа дерево.
- •Представление деревьев в связной памяти эвм.
- •Алгоритмы прохождения деревьев в глубину и в ширину.
- •Представление деревьев в виде бинарных.
- •Представление бинарных деревьев в связной памяти. Прошитые деревья
- •Формирование бинарного дерева.
- •Применение бинарных деревьев в алгоритмах поиска.
- •Операция включения в сд типа бинарное дерево.
- •Операция исключения из бинарного дерева.
- •Представление бинарного дерева в прямоугольной памяти.
- •Применение бинарных деревьев.
- •Сд типа граф.
- •Представление графа в памяти эвм.
- •Алгоритмы прохождения графа.
- •Топологическая сортировка.
- •Организация данных во внешней памяти. Типы и характеристики устройств внешней памяти.
- •Сд типа последовательный файл.
- •Сд типа файл прямого доступа.
- •Сд типа индексно-последовательный файл.
- •Сд типа хеш-файл.
- •Внешняя сортировка.
- •Алгоритм прямого слияния.
- •Многофазная сортировка.
- •Сущность базы данных. Системы управления базами данных.
- •Общая структура субд.
- •Реляционная модель субд.
- •Язык реляционной алгебры.
Понятие о структуре данного. Уровни представления структур данных.
Структура данного (СД) – общее свойство информационного объекта с которым взаимодействует та или иная программа. Это общее свойство характеризуется:
множеством допустимых значений данной структуры;
набором допустимых операций;
характером организованности.
Вырожденные (простейшие) структуры данных называются также типами данных.
Различают следующие уровни описания данного:
абстрактный (математический) уровень;
логический уровень;
физический уровень.
Логический уровень – представление структуры данного на том или ином языке программирования. Физический уровень – отображение на память ЭВМ информационного объекта в соответствии с логическим описанием. Так как память ЭВМ конечна, то возникают вопросы распределения памяти и управления ею. Логический и физический уровни отличаются друг от друга, поэтому в вычислительных системах осуществляется отображение физического уровня на логический и наоборот.
ЛСД
отображение
ФСД
Любая структура на абстрактном уровне может быть представлена в виде двойки <D,R>, где D – конечное множество элементов, которые могут быть типами данных, либо структурами данных, а R – множество отношений, свойства которого определяют различные типы структур данных на абстрактном уровне.
Основные виды (типы) структур данных:
Множество – конечная совокупность элементов, у которой R=.
Последовательность – абстрактная структура, у которой множество R состоит из одного отношения линейного порядка (т. е. для каждого элемента, кроме первого и последнего, имеются предыдущий и последующий элементы).
Матрица – структура, у которой множество R состоит из двух отношений линейного порядка.
Дерево – множество R состоит из одного отношения иерархического порядка.
Граф – множество R состоит из одного отношения бинарного порядка.
Гиперграф – множество R состоит из двух и более отношений различного порядка.
Классификация сд в программах пользователя и в памяти эвм
СД в программах
пользователя
встроенные СД
производные СД
типы данных
(“атомы”)
структурные СД
(“молекулы”)
линейные СД
нелинейные СД
-
булевый
массив
таблица
деревья
целый
запись
стек
бинарные деревья
вещественный
рекурсивные типы
очередь
граф
символьный
множество
список
дек
указательный тип
Важным признаком для классификации является изменчивость структур данных во время выполнения программы. Например, если меняется количество элементов и/или отношение между ними, то такие структуры данных называются динамическими, иначе – статическими.
Примеры СД:
D1
D2
D12
D1
D1
D2
D3
D2
D3
D3
D2
D3
множество
последовательность
дерево
граф
запись
считывание