B-Treeの検索アルゴリズムをステップごとに可視化します。値を入力して検索経路を確認してください。
図書館の本棚を想像してください。本を探すとき、棚ごとに「あ〜さ行」「た〜な行」と書かれたラベルを見て、目的の棚に一直線に向かいます。B-Treeの検索はまさにこの仕組みです。ルートのノードが「棚のラベル」の役割を果たし、 値の大小比較だけで次に見るべきノードが決まります。
1ノードに複数のキーが入っているため、1回の比較で複数の子ノードを一気に除外できます。 二分探索木と違い常に整列・平衡が保証されているので、どのデータを探しても必ず同じ深さで答えにたどり着けるのがB-Treeの大きな特徴です。
| データ構造 | 探索 | 挿入 | 削除 |
|---|---|---|---|
| 線形探索 | O(n) | O(1) | O(n) |
| 二分探索木 | O(log n)* | O(log n)* | O(log n)* |
| ハッシュ | O(1)** | O(1)** | O(1)** |
| B-Tree | O(log n) | O(log n) | O(log n) |