333
правки
Изменения
→merge
Эта операция, соединяющая две биномиальные кучи в одну, используется в качестве подпрограммы большинством остальных операций.
[[Файл:binHeapExample2_2.png|thumb|600px500px|Пример слияние двух деревьев одинакового порядка]]
Вот в чем состоит ее суть: пусть есть две биномиальные кучи с <tex>H</tex> и <tex>H'</tex>. Размеры деревьев в кучах соответствуют двум двоичным числам <tex>m</tex> и <tex>n</tex>, то есть при наличии дерева соответствующего порядка в этом разряде числа стоит единица, иначе ноль. При сложении столбиком в двоичной системе происходят переносы, которые соответствуют слияниям двух биномиальных деревьев Bk-1 в дерево Вk. Надо только посмотреть, в каком из сливаемых деревьев корень меньше, и считать его верхним(пример работы этого действия приведен на рисунке справа).