(a) オーダーが5のB木に100個のデータを登録した場合の、節点数の最小値と最大値を求める。 (b) オーダーが10のB木に100個のデータを登録した場合の、節点数の最小値と最大値を求める。
2025/6/30
1. 問題の内容
(a) オーダーが5のB木に100個のデータを登録した場合の、節点数の最小値と最大値を求める。
(b) オーダーが10のB木に100個のデータを登録した場合の、節点数の最小値と最大値を求める。
2. 解き方の手順
(a) オーダー5のB木の場合
* 葉の数:100 (データ数と葉の数は同じ)
* 最小値の場合:各ノードができるだけ多くの子を持つようにする。
* 根は2つの子を持つ。
* 根以外の内部ノードは 個の子を持つ。
* 葉の直前の階層のノード数を とすると、 より、 なので、。
* その上の階層のノード数を とすると、 より、 なので、。
* さらにその上の階層 (根) のノード数は1 ()。 ()
* 節点数の合計:
* 最大値の場合:各ノードができるだけ少なくの子を持つようにする。
* 根は5つの子を持つ。
* 根以外の内部ノードは 個の子を持つ。
* 根は2つの子を持つ。
* 根以外の内部ノードは 個の子を持つ。
* 葉の直前の階層のノード数を とすると、 より、 なので、。
* その上の階層のノード数を とすると、 より、 なので、。
* さらにその上の階層 (根) のノード数は1 ()。 ()
* 節点数の合計:
(b) オーダー10のB木の場合
* 葉の数:100
* 最小値の場合:各ノードができるだけ多くの子を持つようにする。
* 根は2つの子を持つ。
* 根以外の内部ノードは 個の子を持つ。
* 葉の直前の階層のノード数を とすると、 より、 なので、。
* その上の階層のノード数を とすると、 より、 なので、。
* さらにその上の階層 (根) のノード数は1 ()。 ()
* 節点数の合計:
* 最大値の場合:各ノードができるだけ少なくの子を持つようにする。
* 根は2つの子を持つ。
* 根以外の内部ノードは 個の子を持つ。
* 葉の直前の階層のノード数を とすると、 より、 なので、。
* その上の階層のノード数を とすると、 より、 なので、。
* さらにその上の階層 (根) のノード数は1 ()。 ()
* 節点数の合計:
3. 最終的な答え
(a) オーダー5のB木の場合:最小値 147, 最大値 176
(b) オーダー10のB木の場合:最小値 123, 最大値 176