Изменения

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

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

130 байт убрано, 18:08, 22 января 2015
Merge: Нормальные обозначения
Слияние выполняется выбором минимума из двух значений <tex>T_{min}</tex> и добавлением в приоритетную очередь второго <tex> BPQ </tex>.
<code>
'''BPQ''' merge'('''<tex> \langle </tex>'''x:'''int''', q:'''BPQPQ>'''<tex> \rangle </tex>, '''<tex> \langle </tex>'''y:'''int''', r:'''BPQPQ>'''<tex> \rangle </tex>):
'''if''' x < y
'''return''' (<x, insert(q, <tex> \langle </tex>y, r<tex> \rangle </tex)>))
'''else'''
'''return''' (<y, insert(r, <tex> \langle </tex>x, q<tex> \rangle </tex)>))
</code>
Здесь <math>\mathrm{insert}</math> это добавление в приоритетную очередь . Если оно работает за <tex>O(1)</tex>, тогда то <math>\mathrm{merge}</math> работает за <tex>O(1)</tex>.
=== Insert ===

Навигация