- •1.1. Структурная организация данных
- •1.1.1. Основные понятия структур данных
- •1.1.2. Классификация структур данных по признаку изменчивости
- •1.1.3. Линейные и нелинейные структуры данных
- •1.1.3.1. Классификация линейных структур данных
- •1.1.4. Классификация нелинейных структур
- •1.2. Модели объектов и процессов
- •1.2.1. Типы моделей
- •1.2.2. Классификация моделей по способу представления
- •1.2.3. Этапы моделирования
1.1.3. Линейные и нелинейные структуры данных
Важный признак СД — характер упорядоченности ее элементов. По этому признаку структуры можно разделить на линейные и нелинейные структуры (рис. 1.4).
1.1.3.1. Классификация линейных структур данных
Линейные СД — это структуры, в которых связи между элементами не зависят от выполнения какого-либо условия.
Картезианские или прямоугольные структуры названы так по способу записи данных в виде прямоугольных таблиц. К ним относятся матрицы, векторы, множества.
Например:
Строчные структуры — одномерные, динамически изменяемые структуры данных, различающиеся способами включения и исключения элементов (рис. 1.5).
Очередь — последовательность, в которую включают элементы с одной стороны, а исключают — с другой (рис. 1.7). Структура функционирует по принципу FIFO («первым пришел — первым обслуживается»).
Дек — линейная структура (последовательность), в которой операции включения и исключения элементов могут выполняться как с одного, так и с другого конца последовательности (рис. 1.8).
В списковых структурах логический порядок данных определяется указателями.
Любая списковая структура представляет собой набор элементов, каждый из которых состоит из двух полей: в одном из них размещен элемент данных или указатель на него, а в другом — указатель на следующий элемент списка.
1.1.4. Классификация нелинейных структур
Нелинейные структуры данных — это СД, у которых связи между элементами зависят от выполнения определенного условия. Пример нелинейных структур — деревья, графы, многосвязные списки.
Древовидные — иерархические структуры, состоящие из набора вершин и ребер, каждая вершина содержит определенную информацию и ссылку на вершину нижнего уровня. Дерево — это совокупность элементов, называемых узлами (один из которых определен как корень), и отношений, образующих иерархическую структуру узлов (рис. 1.9).
Вершина, располагающаяся в нулевом уровне, называется корнем дерева. В корень не входит ни одно ребро (вершина 1).
Вершины, из которых не выходит ни одного ребра, называются листьями (вершины 8, 9, 5, 6, 7).
Дерево, из каждой вершины которого выходит только по два ребра, называется бинарным (рис. 1.10).
Графы представляют собой совокупность двух множеств: вершин и ребер. Граф — это сложная нелинейная многосвязная динамическая структура, отображающая свойства и связи сложного объекта (рис. 1.11).
Многосвязная структура обладает следующими свойствами:
на каждый элемент (узел, вершину) может быть произвольное количество ссылок;
каждый элемент может иметь связь с любым количеством других элементов;
3) каждая связка (ребро, дуга) может иметь направление и вес.
Типичными графами являются схемы авиалиний и схемы метро, а на географических картах — изображение железных или автомобильных дорог. Выбранные точки графа называются его вершинами, а соединяющие их линии — ребрами.
Сплетения (многосвязные списки) — это нелинейная структура данных, объединяющая такие понятия, как деревья, графы и списковые структуры.
Сплетения (плексы) обобщают понятия графов и списковых структур.
Основное свойство сплетений, отличное от других типов структур, — наличие у каждого элемента сплетения нескольких полей с указателями на другие элементы того же сплетения (рис. 1.12).
Плексы (сплетения) используются для представления различных семейств связей между индивидуумами и владельцами, отражают производственные и отраслевые связи и т. п.
