前回のB木の実装中にはほとんど気にしていなかったけど、どうやらB木は挿入のみなら常にバランス状態を維持できるようになっているようだ(おそらく)。 今回はB木のバランス具合を確かめるために試したこと(+考えたこと)のメモ。 ※ いつもの通り正しくない可能性が多いにあるので、ちゃんと知りたい人はどこか別の信頼性のある情報を参照のこと B木の成長過程 0から49までの値をキーとして昇順に挿入した場合に木の形がどうなるか。 下の図(GIFアニメ)を参照。 B木のオーダー数*1は四。 ※ 各ノードの数字はその要素のキーを表す。要素の値は非表示。キーが"Hxxx"なっているのは先頭のメタノード。 ※ 下の図では実装に合わせて先頭のメタノードを明示的に表示しているため、Wikipediaやその他一般的(?)に見られるB木の図とは若干形が異なる。 キーを昇順に挿入した場合、(一番単純に実装した)ニ分木では