Биномиальная куча
| Определение: | 
| Биномиальное дерево — дерево, определяемое для каждого следующим образом: - дерево, состоящее из одного узла высоты 0, то есть состоит из одного узла; состоит из двух биномиальных деревьев , связанны вместе таким образом, что корень одного из них является крайним левым дочерним узлом корня второго дерева. | 
Свойства биномиальных деревьев. Биномиальное дерево с n вершинами:
- имеет узлов;
 - имеет высоту k;
 - имеет ровно узлов на высоте ;
 - имеет корень степени k; степерь всех остальных вершин меньше степени корня биномиального дерева. Кроме того, если дочерние узлы корня пронумеровать слева направо числами , то i-й дочерний узел корня является корнем биномиального дерева
 - максимальная степень произвольного узла в биномиальном дереве с n узлами равна .
 
| Определение: | 
Биномиальная пирамида H — представляет собой множество биномиальных деревьев, которые удовлетворяют следующим свойствам биномиальных пирамид.
  | 
Содержание
Представление биномиальных куч
Поскольку количество детей у узлов варьируется в широких пределах, ссылка на детей осуществляется через левого ребенка, а остальные дети образуют односвязный список. Каждый узел в биномиальной пирамиде (куче) представляется набором полей:
- key — ключ (вес) элемента;
 - parent — указатель на родителя узла;
 - child — указатель на левого ребенка узла;
 - sibling — указатель на правого брата узла;
 - degree — степень узла (количество дочерних узлов данного узла).
 
Доступ к куче осуществляется ссылкой на самое левое поддерево. Корни деревьев, из которых составлена куча, оказываются организованными с помощью поля sibling в так называемый корневой односвязный список.
Операции над биномиальными пирамидами
Рассмотрим операции, которые можно производить с биномиальной пирамидой. Их верхние асимптотические оценки показаны в таблице.
| Make_Heap | |
| Insert | |
| Minimum | |
| Extract_Min | |
| Union | |
| Decrease_Key | |
| Delete | 
Make_Heap
Для создания пустой биномиальной приамиды процедура Make_Binomial_Heap просто выделяет память и возвращает объект H, где head[H] = nil, то есть пирамида не содержит элементов.
Minimum
Процедура Binomial_Heap_Minimum возвращает указатель на узел с минимальным ключом. Приведенный ниже певдокод предполагает, что ключей, равных , нет.
Binomial_Yeap_Minimum(H)
y = NIL
x = head[H]
min = 
while x  NIL do
if key[x] < min then y = x x = sibling[x]
return y