Россия и Беларусь начали и продолжают войну против народа Украины!

Структуры данных. Типы структур данных

  Акод  | 

  Обновл. 15 Апр 2023  | 

 327

Структура данных — это «контейнер», который используется для хранения и организации данных по определенным правилам. Это способ упорядочивания данных на компьютере таким образом, чтобы к ним можно было эффективно получать доступ и вносить изменения.

В зависимости от требований и проекта важно выбрать оптимальную структуру данных. Например, если вы хотите хранить данные последовательно в памяти, то можно воспользоваться Массивом.

Примечание: Структура данных и типы данных немного различаются. Структура данных — это набор типов данных, упорядоченных в определенном порядке.

Типы структур данных

В основном, структуры данных делятся на два типа:

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

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

Рассмотрим их детально.

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


В линейных структурах данных элементы располагаются последовательно друг за другом. Поскольку элементы упорядочены в определенном порядке, данную структуру относительно легко создать и поддерживать. Однако с увеличением сложности программы линейные структуры данных уже могут быть не лучшим вариантом из-за операционных сложностей.

Рассмотрим наиболее популярные линейные структуры данных.

Структура данных Массив

В массиве элементы в памяти располагаются в непрерывной последовательности. Все элементы массива имеют одинаковый тип. Тип элементов, которые можно хранить в виде массивов, определяется языком программирования.

Массив, где каждый элемент представлен индексом

Структура данных Стек

В стеке элементы хранятся по принципу LIFO (сокр. от англ. «Last In, First Out»). Это означает, что последний элемент, добавленный в стек, удаляется первым.

Структура данных Очередь

В отличие от стека, очередь работает по принципу FIFO (сокр. от англ. «First In, First Out»), где первый элемент, помещенный в очередь, первым и удаляется.


Структура данных Связный список

В связном списке данные связаны через серию узлов. Каждый узел содержит элементы данных и адрес следующего узла. Посредством адреса и осуществляется «связывание».

Связный список

Нелинейные структуры данных

В отличие от линейных структур данных, элементы в нелинейных структурах данных не расположены в какой-либо последовательности. Вместо этого они организованы иерархически, где один элемент связан с другим или сразу несколькими другими элементами.

Нелинейные структуры данных делятся на графовые и древовидные структуры данных.

Структура данных Граф

В графе каждый узел называется вершиной, а каждая вершина соединена с другими вершинами через ребра.

Пример структуры данных Граф

Древовидные структуры данных

Подобно графу, дерево также представляет собой набор вершин и ребер. Однако в древовидной структуре данных между двумя вершинами может быть только одно ребро.

Пример древовидной структуры данных

Популярные древовидные структуры данных:

   Бинарное дерево (Binary Tree)

   Двоичное дерево поиска (Binary Search Tree)

   АВЛ-дерево (AVL Tree)

   B-дерево (B-Tree)

   B+ дерево (B+ Tree)

   Красно-черное дерево (Red-Black Tree)

Различия между линейными и нелинейными структурами данных


Линейные структуры данных Нелинейные структуры данных
Элементы данных расположены в последовательном порядке, один за другим. Элементы данных расположены в иерархическом (непоследовательном) порядке.
Все элементы находятся на одном уровне. Элементы данных находятся на разных уровнях.
Всю цепочку элементов можно последовательно пройти за один проход. Всю цепочку данных нельзя пройти за один проход. Требуется несколько проходов.
Память используется неэффективно. Память используется более эффективно.
Время доступа к элементам резко увеличивается с увеличением количества элементов. Время доступа к элементам зачастую не так резко увеличивается с увеличением количества элементов.
Примеры: Массив, Стек, Очередь. Примеры: Деревья, Графы, Карты.

Зачем изучать структуры данных?

Знание и понимание структур данных поможет вам выбрать правильные структуры данных в своих проектах. Таким образом вы сможете писать более эффективный код, с точки зрения памяти и времени.


Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (2 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *