平衡二分探索木(へいこうにぶんたんさくぎ、: self-balancing binary search tree)とは、計算機科学において二分探索木のうち木の高さ(根からの階層の数)を自動的にできるだけ小さく維持しようとするもの(平衡木)である。平衡二分探索木は連想配列集合その他の抽象データ型を実装する最も効率のよいデータ構造の1つである。

概要

編集

(online algorithm)

()

 k2k2

n
操作 Big-O 時間
参照 O(log n)
挿入 O(log n)
削除 O(log n)
全ての要素に対する繰り返し O(n)

ある実装では上記の時間は最悪時のものであり、違う実装では償却解析(Amortized analysis)した時間である。

実装

編集

平衡二分探索木を実装したデータ構造には以下のようなものが存在する。

名称 英語名 発表年
AVL木 AVL tree 1962年
赤黒木 red-black tree 1972年
スプレー木 splay tree 1985年
スケープゴート木 scapegoat tree 1989年
Treap treap 1989年
AA木 AA tree 1993年

2B2-32-3-4使treap

応用

編集

使(hash table)使

2 ()(line segment intersection)(point location problem)

  

関連項目

編集