Изменения

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

Куча Бродала-Окасаки

3 байта добавлено, 09:37, 11 июня 2014
Операции
Слияние выполняется выбором минимума из двух значений <tex>T_{min}</tex> и добавлением в приоритетную очередь второго BPQ.
<code>
'''pair(int, bpq)''' merge((x : '''int''', q : '''bpq''') : '''pair''', (y : '''int''', r : '''bpq''') : '''pair'''):
'''if''' x < y
'''return''' (x, insert(q, (y, r)))
Это создание нового BPQ и <math>\mathrm{merge}</math> его с основным деревом.
<code>
'''pair(int, bpq)''' insert((x : '''int''', q : '''bpq'''), y : '''bpq'''):
return merge((x,q), create(y))
</code>
Выполняется просто, так как BPQ хранит минимум.
<code>
'''int''' getMin((x : '''int''', q : '''bpq''')):
return x;
</code>
69
правок

Навигация