Биномиальная куча

Биномиальная куча
Пример биномиальной кучи, содержащий элементы с ключами от 1 до 13

Биномиальная куча (англ. binomial heap) — структура данных, реализующая абстрактный тип данных «Очередь с приоритетом», которая представляет собой набор биномиальных деревьев с двумя свойствами:

  • ключ каждой вершины не меньше ключа ее родителя;
  • все биномиальные деревья имеют разный размер.

Из этих свойств вытекают два следствия. Во-первых, корень каждого из деревьев имеет наименьший ключ среди его вершин. Во-вторых, суммарное количество вершин в биномиальной куче однозначно определяет размеры входящих в него деревьев. Например, биномиальная куча с 13=2^3+2^2+2^0 вершинами состоит из трёх деревьев высотой 3, 2 и 0 (см. рис.)

Следующие операции выполняются за время O(\log n), где n — число вершин:

  • Вставка нового элемента
  • Нахождение элемента с минимальным ключом
  • Удаление элемента с минимальным ключом
  • Уменьшение значения ключа данного элемента
  • Удаление данного элемента
  • Объединение двух куч.

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

См. также


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Биномиальная куча" в других словарях:

  • Куча (структура данных) — Эта статья  о структуре данных в программировании. О динамической области распределения памяти см. Динамически распределяемая память. Пример полной бинарной кучи …   Википедия

  • Куча (значения) — В Викисловаре есть статья «куча» Куча  нагромождение большого количества объектов, по форме обычно похожее на конус. В переносном смысле  большое количество чего либо. См. парадокс кучи. Содержание …   Википедия

  • Куча (программирование) — Это статья о структуре данных. Статья об области нераспределённой памяти при динамическом распределении памяти называется Куча (нераспределённая память). пример сортирующего дерева Сортирующее дерево (куча, пирамида) такое двоичное дерево, для… …   Википедия

  • Сливаемая куча — У этого термина существуют и другие значения, см. Куча (значения). Сливаемая куча (англ. Mergeable heap) структура данных, которая поддерживает следующие пять операций: Создание пустой кучи (англ. Make heap); Вставка узла в кучу… …   Википедия

  • Двоичная куча — У этого термина существуют и другие значения, см. Куча (значения). Имеется викиучебник по теме « …   Википедия

  • Фибоначчиева куча — У этого термина существуют и другие значения, см. Куча (значения). Фибоначчиева куча (англ. Fibonacci heap) структура данных, представляющая собой набор деревьев, упорядоченных в соответствии со свойством неубывающей пирамиды. Фибоначчиевы… …   Википедия

  • Список структур данных — …   Википедия

  • Сортирующее дерево — Это статья о структуре данных. Статья об области нераспределённой памяти при динамическом распределении памяти называется Куча (нераспределённая память). пример сортирующего дерева Сортирующее дерево (куча, пирамида) такое двоичное дерево, для… …   Википедия

  • Очередь с приоритетом — (англ. priority queue)  абстрактный тип данных в программировании, поддерживающий три операции: InsertWithPriority: добавить в очередь элемент с нaзначенным приоритетом GetNext: извлечь из очереди и вернуть элемент с минимальным… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»