Биномиальная куча — различия между версиями
Строка 14: | Строка 14: | ||
*Каждое биномиальное дерево в Н подчиняется свойству '''неубывающей пирамиды''': ключ узла не меньше ключа его родительского узла (упорядоченное в соответствии со свойсвом неубывающей прирамиды дерево). | *Каждое биномиальное дерево в Н подчиняется свойству '''неубывающей пирамиды''': ключ узла не меньше ключа его родительского узла (упорядоченное в соответствии со свойсвом неубывающей прирамиды дерево). | ||
* Для любого неотрицательного целого k найдется не более одного биномиального дерева Н, чей корень имеет степень K.}} | * Для любого неотрицательного целого k найдется не более одного биномиального дерева Н, чей корень имеет степень K.}} | ||
+ | |||
+ | Поскольку количество детей у узлов варьируется в широких пределах, ссылка на детей осуществляется через левого ребенка, а остальные дети образуют односвязный список. Каждый узел в биномиальной пирамиде (куче) представляется набором полей: | ||
+ | *''key'' {{---}} ключ (вес) элемента; | ||
+ | *''parent'' {{---}} указатель на родителя узла; | ||
+ | *''child'' {{---}} указатель на левого ребенка узла; | ||
+ | *''sibling'' {{---}} указатель на правого брата узла; | ||
+ | *''degree'' {{---}} степень узла (количество дочерних узлов данного узла). | ||
+ | |||
+ | Доступ к куче осуществляется ссылкой на самое левое поддерево. Корни деревьев, из которых составлена куча, оказываются организованными с помощью поля ''sibling'' в так называемый корневой односвязный список. |
Версия 22:31, 13 марта 2011
Определение: |
Биномиальное дерево | — дерево, определяемое для каждого следующим образом: - дерево, состоящее из одного узла высоты 0, то есть состоит из одного узла; состоит из двух биномиальных деревьев , связанны вместе таким образом, что корень одного из них является крайним левым дочерним узлом корня второго дерева.
Свойства биномиальных деревьев. Биномиальное дерево
с n вершинами:- имеет узлов;
- имеет высоту k;
- имеет ровно узлов на высоте ;
- имеет корень степени k; степерь всех остальных вершин меньше степени корня биномиального дерева. Кроме того, если дочерние узлы корня пронумеровать слева направо числами , то i-й дочерний узел корня является корнем биномиального дерева
- максимальная степень произвольного узла в биномиальном дереве с n узлами равна .
Определение: |
Биномиальная пирамида H — представляет собой множество биномиальных деревьев, которые удовлетворяют следующим свойствам биномиальных пирамид.
|
Поскольку количество детей у узлов варьируется в широких пределах, ссылка на детей осуществляется через левого ребенка, а остальные дети образуют односвязный список. Каждый узел в биномиальной пирамиде (куче) представляется набором полей:
- key — ключ (вес) элемента;
- parent — указатель на родителя узла;
- child — указатель на левого ребенка узла;
- sibling — указатель на правого брата узла;
- degree — степень узла (количество дочерних узлов данного узла).
Доступ к куче осуществляется ссылкой на самое левое поддерево. Корни деревьев, из которых составлена куча, оказываются организованными с помощью поля sibling в так называемый корневой односвязный список.