Изменения
Нет описания правки
</code>
Приведенная далее процедура сливает биномиальные кучи <tex>H_1 и ,  H_2</tex>, возвращая получаемую в результате биномиальную прирамиду. <tex>H_1 и , H_2</tex> удаляются. Процедура Binomial_Heap_Merge сливает списки корней <tex>H_1 и , H_2</tex> в единый связный список, отсортированный по степеням в монотонно возрастающем порядке. <code>  Binomial_Heap_Union(<tex>H_1, H_2</tex>)  H = Make_Binomial_Heap()  head[H] = Binomial_Heap_Merge(<tex>H_1, H_2</tex>)  delete <tex>H_1, H_2</tex> //удаление объектов, но не списков, на которые они указывают  if head[H] = NIL    then return H  prex_x = NIL  x = head[H]  next_x = sibling[x]  while next_x <tex>\ne</tex> NIL do    if (degree[x] <tex>\ne</tex> degree[next_x]) or (sibling[next_x] <tex>\ne</tex> NIL and degree[sibling[next_x]] = degree[x]) then      prex_x = x    else      if key[x] <= key[next_x] then        sibling[x] = sibling[next_x]        Binomial_Link(next_x, x)      else        if prev_x = NIL then          head[H] = next_x        else          sibling[prev_x] = next_x</code>
