Core Concepts
ジップ木の単純な変種であるジップ・ジップ木は、ジップ木よりも優れた特性を持つ。ジップ・ジップ木は、より均衡な木構造を実現し、メタデータの使用量も少ない。また、バイアス付きのジップ・ジップ木や部分永続的なジップ・ジップ木も定義できる。
Abstract
本論文では、ジップ木の単純な変種であるジップ・ジップ木を定義し、分析している。
ジップ・ジップ木では、各ノードのランクを(r1, r2)のペアとして定義する。r1はジップ木と同様に幾何分布に従うランダムな値を取り、r2は一様乱数を用いて[1, logc n]の範囲から選ばれる整数値である。ランク比較はこのペアに対して辞書式順序で行う。
この定義により、ジップ・ジップ木は以下のような特性を持つ:
期待ノード深さが1.3863 log n - 1 + o(1)以下となり、ランダムに構築された二分探索木やtreapと同等の性能を示す。ただし、ジップ・ジップ木はノードあたりO(log log n)ビットのメタデータしか必要としない。
最小キーと最大キーの期待深さが等しく、0.6932 log n + γ + o(1)以下となる。
強い履歴独立性を持つ。
バイアス付きのジップ・ジップ木を定義でき、キーの重みに応じた期待検索時間を実現できる。
部分永続的なジップ・ジップ木を定義でき、O(n)の空間オーバーヘッドで実現できる。
また、ジャストインタイムのジップ・ジップ木変種を定義し、ノードあたり期待O(1)ビットのメタデータで実現できることを示した。ただし、この変種は履歴独立性を持たない。
実験的にも、ジップ・ジップ木がジップ木やtreapに比べて優れた性能を示すことを確認した。
Stats
ジップ・ジップ木を用いることで、ノードあたりO(log log n)ビットのメタデータで、期待ノード深さが1.3863 log n - 1 + o(1)以下となる。
ジャストインタイムのジップ・ジップ木では、ノードあたり期待3.166ビットのメタデータで実現できる。
Quotes
ジップ・ジップ木は、ジップ木よりも均衡で、メタデータ量も少ない。
ジャストインタイムのジップ・ジップ木は、履歴独立性を持たないが、ノードあたり期待O(1)ビットのメタデータで実現できる。