二分探索木のノード削除を図解する(LeetCode 450: Delete Node in a BST)
- 2025年2月5日
- Liu, An-Chi 劉安齊
Code makes the world a better place
赤黒木(Red-Black Tree)は特殊なデータ構造で、AVL 木と同様に自動で平衡を保つ機能を持ちます。
赤黒木には以下の性質があります:
NIL であり黒これらの規則に従うことで、ノードの挿入や削除を行っても木の平衡状態を保てます。赤黒木は、ノード数が n のとき木の高さが最大でも 2log(n+1) を超えないことが保証されます。
現実世界では集合(set)や辞書(dictionary)の実装に使われることが多く、C++ の std::set や std::map は内部的に赤黒木で実装されています。