Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекция 1 структуры данных.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
197.02 Кб
Скачать

1.1.3. Линейные и нелинейные структуры данных

Важный признак СД — характер упорядочен­ности ее элементов. По этому признаку структуры можно разде­лить на линейные и нелинейные структуры (рис. 1.4).

1.1.3.1. Классификация линейных структур данных

Линейные СД — это структуры, в которых связи между эле­ментами не зависят от выполнения какого-либо условия.

Картезианские или прямоугольные структуры названы так по способу записи данных в виде прямоугольных таблиц. К ним относятся матрицы, векторы, множества.

Например:

Строчные структуры — одномерные, динамически изменяе­мые структуры данных, различающиеся способами включения и исключения элементов (рис. 1.5).

Стек — это последовательность, в которой включение и ис­ключение элемента осуществляются с одной стороны последова­тельности (рис. 1.6).

Очередь — последовательность, в которую включают элемен­ты с одной стороны, а исключают — с другой (рис. 1.7). Струк­тура функционирует по принципу FIFO («первым пришел — первым обслуживается»).

Дек — линейная структура (последовательность), в которой операции включения и исключения элементов могут выполняться как с одного, так и с другого конца последовательности (рис. 1.8).

В списковых структурах логический порядок данных опреде­ляется указателями.

Любая списковая структура представляет собой набор эле­ментов, каждый из которых состоит из двух полей: в одном из них размещен элемент данных или указатель на него, а в дру­гом — указатель на следующий элемент списка.

1.1.4. Классификация нелинейных структур

Нелинейные структуры данных — это СД, у которых связи ме­жду элементами зависят от выполнения определенного условия. Пример нелинейных структур — деревья, графы, многосвязные списки.

Древовидные — иерархические структуры, состоящие из на­бора вершин и ребер, каждая вершина содержит определенную информацию и ссылку на вершину нижнего уровня. Дерево — это совокупность элементов, называемых узлами (один из кото­рых определен как корень), и отношений, образующих иерархи­ческую структуру узлов (рис. 1.9).

Вершина, располагающаяся в нулевом уровне, называется корнем дерева. В корень не входит ни одно ребро (вершина 1).

Вершины, из которых не выходит ни одного ребра, называ­ются листьями (вершины 8, 9, 5, 6, 7).

Дерево, из каждой вершины которого выходит только по два ребра, называется бинарным (рис. 1.10).

Графы представляют собой совокупность двух множеств: вершин и ребер. Граф — это сложная нелинейная многосвязная динамическая структура, отображающая свойства и связи слож­ного объекта (рис. 1.11).

Многосвязная структура обладает следующими свойствами:

  1. на каждый элемент (узел, вершину) может быть произ­вольное количество ссылок;

  2. каждый элемент может иметь связь с любым количеством других элементов;

3) каждая связка (ребро, дуга) может иметь направление и вес.

Типичными графами являются схемы авиалиний и схемы метро, а на географических картах — изображение железных или автомобильных дорог. Выбранные точки графа называются его вершинами, а соединяющие их линии — ребрами.

Сплетения (многосвязные списки) — это нелинейная струк­тура данных, объединяющая такие понятия, как деревья, графы и списковые структуры.

Сплетения (плексы) обобщают понятия графов и списковых структур.

Основное свойство сплетений, отличное от других типов структур, — наличие у каждого элемента сплетения нескольких полей с указателями на другие элементы того же сплетения (рис. 1.12).

Плексы (сплетения) используются для представления раз­личных семейств связей между индивидуумами и владельцами, отражают производственные и отраслевые связи и т. п.