Изменения

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

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

123 байта добавлено, 22:34, 10 июня 2014
Merge
=== Merge ===
Слияние выполняется выбором минимума из двух значений <tex>T_{min}</tex> и добавлением в приоритетную очередь второго BPQ.
<precode> '''pair''' merge((x: '''int''',q: '''bpq'''): '''pair''', (y: '''int''',r: '''bpq'''): '''pair''') if x<y '''return ''' (x, insert(q, (y,r))) else '''return ''' (y, insert(r, (x,q)))</precode>
Здесь <tex>insert</tex> это добавление в приоритетную очередь работает за <tex>O(1)</tex>, тогда <tex>merge</tex> работает за <tex>O(1)</tex>.
 
=== Insert ===
Это создание нового BPQ и <tex>merge</tex> его с основным деревом.
69
правок

Навигация