Leftist Heap

Leftist Heapはヒープに加えて以下の制約が加わったLeftist Treeという構造を持つ。

  • rank(left child) >= rank(right child)

rankとはright spineの長さ(右にだけ降りていったときの最後の接点までの長さ)のことである。
Leftist Treeは要素数nならば

  • rank <= lg(節点数 + 1)

という性質を持つ。各計算に置けるオーダーは

  • insert: O(log n)
  • delete_min: O(log n)
  • find_min: O(1)
  • merge: O(log n) (O(log(n1) + log(n2)): n1とn2の要素数をマージ)

となる。