- •Понятие о структуре данного. Уровни представления структур данных.
- •Классификация сд в программах пользователя и в памяти эвм
- •Сд в оперативной памяти
- •Сд типа массив.
- •Сд типа запись (прямое декартово произведение).
- •Сд типа таблица.
- •Операции над таблицей:
- •Временная сложность алгоритмов.
- •Сд типа хеш-таблица.
- •Операция включения элемента в таблицу.
- •Операция исключения элемента из таблицы:
- •Сортировки. Улучшенные методы сортировок.
- •Классификация задач по временной сложности.
- •Сд типа стек.
- •Алгоритм сортировки Хоара (стек используется для хранения границ сортируемой области в таблице):
- •Сд типа очередь.
- •Связное распределение памяти.
- •Сд типа линейный односвязный список.
- •Сд типа указатель.
- •Статические и динамические переменные.
- •Сд типа циклический линейный список.
- •Сд типа двусвязный линейный список.
- •Сд типа дек.
- •Многосвязные списки.
- •Средства объектно-ориентированного программирования.
- •Объекты и свойства инкапсуляции.
- •Наследование и переопределение.
- •Полиморфизм. Виртуальные методы.
- •Динамические объекты. Деструкторы.
- •Обработка ошибок при работе с динамическими объектами.
- •Модули, экспортирующие объекты.
- •Нелинейные структуры данных.
- •Сд типа дерево.
- •Представление деревьев в связной памяти эвм.
- •Алгоритмы прохождения деревьев в глубину и в ширину.
- •Представление деревьев в виде бинарных.
- •Представление бинарных деревьев в связной памяти. Прошитые деревья
- •Формирование бинарного дерева.
- •Применение бинарных деревьев в алгоритмах поиска.
- •Операция включения в сд типа бинарное дерево.
- •Операция исключения из бинарного дерева.
- •Представление бинарного дерева в прямоугольной памяти.
- •Применение бинарных деревьев.
- •Сд типа граф.
- •Представление графа в памяти эвм.
- •Алгоритмы прохождения графа.
- •Топологическая сортировка.
- •Организация данных во внешней памяти. Типы и характеристики устройств внешней памяти.
- •Сд типа последовательный файл.
- •Сд типа файл прямого доступа.
- •Сд типа индексно-последовательный файл.
- •Сд типа хеш-файл.
- •Внешняя сортировка.
- •Алгоритм прямого слияния.
- •Многофазная сортировка.
- •Сущность базы данных. Системы управления базами данных.
- •Общая структура субд.
- •Реляционная модель субд.
- •Язык реляционной алгебры.
Модули, экспортирующие объекты.
Типы объектов обычно используются в интерфейсной части модуля, а функции и процедуры – в секции реализации. В секции инициализации размещаются вызовы конструкторов. Из виртуализации объекта следует важное свойство – расширяемость или открытость программ, основанных на ООП. Это связано с тем, что модули, содержащие какие-либо программно-инструментальные средства (графика, работа с меню, и т.д.), могут поставляться конечным пользователям в виде подключаемых TPU-файлов с распечаткой типов объектов, находящихся в интерфейсной части. Пользователь такого модуля, используя свойство полиморфизма и наследования, добавляет новые объекты, который настраивают те или иные программные средства на ту или иную предметную область.
Нелинейные структуры данных.
Для повышения эффективности алгоритмов используются нелинейные структуры данных. Они усложняют реализацию алгоритма, но улучшают его эффективность.
Сд типа дерево.
Дерево – конечное непустое множество Т, состоящее из одного и более узлов таких, что выполняются следующие условия:
Имеется один специально обозначенный узел, называемый корнем данного дерева.
Остальные узлы (исключая корень) содержатся в m>=0 попарно не пересекающихся множествах Т1, Т2, …, Тm, каждое из которых в свою очередь является деревом. Деревья Т1, Т2, …, Тm называются поддеревьями данного корня.
Р
A: T1 =
{B, E, F, G}
T2 =
{C, H} B:
T11 =
{E}
T12
= {F}
T13
= {G} C:
T21 =
{H}
Если подмножества Т1, Т2, …, Тm упорядочены, то дерево называют упорядоченным. Если два дерева считаются равными и тогда, когда они отличаются порядком, то такие деревья называются ориентированными деревьями. Конечное множество непересекающихся деревьев называется лесом.
Бинарное дерево – конечное множество элементов, которое может быть пустым, состоящее из корня и двух непересекающихся бинарных деревьев, причем поддеревья упорядочены: левое поддерево и правое поддерево.
a a b
b
Количество подмножеств для данного узла называется степенью узла. Если такое количество равно нулю, то узел является листом. Максимальная степень узла в дереве – степень дерева. Уровень узла – длина пути от корня до рассматриваемого узла. Максимальный уровень дерева – высота дерева.
Структуру дерева можно изображать и с помощью следующих способов:
вложенные множества
Скобочная
форма: (A (B
(E) (F) (G))
(C (H)))
Десятичная
форма Дьюи: A1;
B1.1;
C1.2;
E1.1.1;
F1.1.2;
G1.1.3;
H1.2.1
Представление деревьев в связной памяти эвм.
Различают три
основных способа представления деревьев
в связной памяти: стандартный, инверсный,
смешанный. Рассмотрим эти способы для
представленного дерева.
A
A
F
B
B
F
C
E
H
C
D
E
G
H
D
G
При стандартном
способе узлы, находящиеся на одном
уровне являются братьями.
Если же узел находится на более нижнем
уровне, то он считается сыном.
При инверсном
способе каждый узел дерева имеет
указатель, показывающий на родителя.
Если же говорить о смешанном способе представления дерева в связной памяти, то здесь, как видно из названия, каждый узел включает указатели, указывающие как на сыновей, так и на родителя.