Сравнение кучи и дерева

Опубликовано: 20 Февраля, 2023

Что такое куча?

Куча — это специальная структура данных на основе дерева, в которой дерево является полным двоичным деревом.

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

Как правило, кучи могут быть двух типов:

  • Max-Heap: в Max-Heap ключ, присутствующий в корневом узле, должен быть наибольшим среди ключей, присутствующих во всех его дочерних узлах. Одно и то же свойство должно быть рекурсивно истинным для всех поддеревьев в этом двоичном дереве.
  • Min-Heap: в Min-Heap ключ, присутствующий в корневом узле, должен быть минимальным среди ключей, присутствующих во всех его дочерних элементах. Одно и то же свойство должно быть рекурсивно истинным для всех поддеревьев в этом двоичном дереве.

Что такое дерево?

Дерево нелинейно и имеет иерархическую структуру данных, состоящую из набора узлов, так что каждый узел дерева хранит значение и список ссылок на другие узлы («потомки»).

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

Обычно различают следующие типы древовидных структур данных:

  • Бинарное дерево: узел бинарного дерева может иметь не более двух дочерних узлов.
  • Двоичное дерево поиска: как следует из названия, двоичные деревья поиска используются для различных алгоритмов поиска и сортировки. Примеры включают дерево AVL и красно-черное дерево. Это нелинейная структура данных. Он показывает, что значение левого узла меньше, чем у его родителя, а значение правого узла больше, чем у его родителя.

Сравнение кучи и дерева:

С. Нет

куча

Дерево

1 Куча сама по себе является деревом. Дерево — это не куча.
2 Обычно куча бывает двух типов: максимальная куча и минимальная куча. Принимая во внимание, что дерево может быть разных типов, например. двоичное дерево, BST (бинарное дерево поиска), дерево AVL и т. д.
3 Куча упорядочена. Двоичное дерево не упорядочено, но упорядочено BST.
4 Вставка и удаление в худшем случае займут время O(log(N)) . Вставка и удаление потребуют O (N) в худшем случае, если дерево перекошено.
5 Нахождение значения Min/Max в куче равно O(1) в соответствующей куче Min/Max. Нахождение минимального/максимального значения в BST — это O (log (N)) и двоичное дерево — O (N).
6 Куча также может называться приоритетной очередью. Дерево также можно назвать связным неориентированным графом без цикла.
7 Куча может быть построена с линейной временной сложностью. BST: O(N * log(N)) и двоичное дерево: O(N).
8 Приложения: алгоритм Прима и алгоритм Дейкстры. Приложения: Spanning Trees, Trie, B+ Tree, BST, Heap.

Статьи по Теме:

  • Введение в дерево — учебные пособия по структурам данных и алгоритмам
  • Введение в кучу - учебные пособия по структурам данных и алгоритмам