Изменения

Перейти к: навигация, поиск

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

9 байт добавлено, 22:50, 7 июня 2012
extractMin
curxBefore = null;
while curx != null
// релаксируем текущий минимум if curx.key < min min = curx.key; x = curx; xBefore = curxBefore;
curxBefore = curx; curx = curx.sibling;
//удаление найденного корня x из списка корней деревьев кучи
if (xBefore == null) {
H.head = x.sibling;
} else {
xBefore.sibling = x.sibling;
}
//построение кучи детей вершины x, при этом изменяем предка соответствующего ребенка на null:
H'.head = x.child;
while curx != null
// меняем указатель на родителя узла curx p[curx] = null; // переход к следующему ребенку curx = curx.sibling;
// слияние нашего дерева с деревом H'
Анонимный участник

Навигация