不変ビット集合 具象不変コレクションクラス ハッシュトライ 赤黒木 目次
最新版は Scala Documentation に移行しました。

赤黒木

赤黒木は、ノードが「赤」か「黒」に色付けされている平衡二分木の一種だ。他の平衡二分木と同様に演算は木のサイズのログ時間内に確実に完了する。

Scala は内部で赤黒木を使った不変集合と不変セットの実装を提供する。TreeSet TreeMap クラスがそれだ。

scala> scala.collection.immutable.TreeSet.empty[Int]
res11: scala.collection.immutable.TreeSet[Int] = TreeSet()
scala> res11 + 1 + 3 + 3
res12: scala.collection.immutable.TreeSet[Int] = TreeSet(1, 3)
赤黒木は、全ての要素をソートされた順序で返す効率的なイテレータを提供するため、整列済み集合 (SortedSet) の標準実装となっている。

続いては、不変ビット集合


不変ビット集合 具象不変コレクションクラス ハッシュトライ 赤黒木 目次