(a) オーダーが5のB木に100個のデータを登録した場合の、節点数の最小値と最大値を求める。 (b) オーダーが10のB木に100個のデータを登録した場合の、節点数の最小値と最大値を求める。

離散数学データ構造B木アルゴリズム
2025/6/30

1. 問題の内容

(a) オーダーが5のB木に100個のデータを登録した場合の、節点数の最小値と最大値を求める。
(b) オーダーが10のB木に100個のデータを登録した場合の、節点数の最小値と最大値を求める。

2. 解き方の手順

(a) オーダー5のB木の場合
* 葉の数:100 (データ数と葉の数は同じ)
* 最小値の場合:各ノードができるだけ多くの子を持つようにする。
* 根は2つの子を持つ。
* 根以外の内部ノードは m/2=5/2=3\lceil m/2 \rceil = \lceil 5/2 \rceil = 3 個の子を持つ。
* 葉の直前の階層のノード数を xx とすると、 3x1003x \le 100 より、x33.333...x \le 33.333... なので、x=34x = 34
* その上の階層のノード数を yy とすると、3y343y \le 34 より、y11.333...y \le 11.333... なので、y=12y = 12
* さらにその上の階層 (根) のノード数は1 (z=1z=1)。 (2z122z \le 12)
* 節点数の合計:100+34+12+1=147100 + 34 + 12 + 1 = 147
* 最大値の場合:各ノードができるだけ少なくの子を持つようにする。
* 根は5つの子を持つ。
* 根以外の内部ノードは m/2=5/2=3\lceil m/2 \rceil = \lceil 5/2 \rceil = 3 個の子を持つ。
* 根は2つの子を持つ。
* 根以外の内部ノードは m=5m=5個の子を持つ。
* 葉の直前の階層のノード数を xx とすると、2x1002x \le 100 より、x50x \le 50 なので、x=50x = 50
* その上の階層のノード数を yy とすると、2y502y \le 50 より、y25y \le 25 なので、y=25y = 25
* さらにその上の階層 (根) のノード数は1 (z=1z=1)。 (2×1252 \times 1 \le 25)
* 節点数の合計:100+50+25+1=176100 + 50 + 25 + 1 = 176
(b) オーダー10のB木の場合
* 葉の数:100
* 最小値の場合:各ノードができるだけ多くの子を持つようにする。
* 根は2つの子を持つ。
* 根以外の内部ノードは m/2=10/2=5\lceil m/2 \rceil = \lceil 10/2 \rceil = 5 個の子を持つ。
* 葉の直前の階層のノード数を xx とすると、5x1005x \le 100 より、x20x \le 20 なので、x=20x = 20
* その上の階層のノード数を yy とすると、2y202y \le 20 より、y10y \le 10 なので、y=10y = 10
* さらにその上の階層 (根) のノード数は1 (z=1z=1)。 (2×1102 \times 1 \le 10)
* 節点数の合計:100+20+2+1=123100 + 20 + 2 + 1 = 123
* 最大値の場合:各ノードができるだけ少なくの子を持つようにする。
* 根は2つの子を持つ。
* 根以外の内部ノードは m=10m = 10 個の子を持つ。
* 葉の直前の階層のノード数を xx とすると、2x1002x \le 100 より、x50x \le 50 なので、x=50x = 50
* その上の階層のノード数を yy とすると、2y502y \le 50 より、y25y \le 25 なので、y=25y = 25
* さらにその上の階層 (根) のノード数は1 (z=1z=1)。 (2×1252 \times 1 \le 25)
* 節点数の合計:100+50+25+1=176100 + 50 + 25 + 1 = 176

3. 最終的な答え

(a) オーダー5のB木の場合:最小値 147, 最大値 176
(b) オーダー10のB木の場合:最小値 123, 最大値 176

「離散数学」の関連問題

右図のような道のある町で、次の条件を満たす最短経路は何通りあるか。 (1) PからQまで行く。 (2) PからRを通ってQまで行く。 (3) Pから×印の箇所は通らずにQまで行く。 (4) PからRを...

組み合わせ最短経路場合の数
2025/7/3

6つの数字 1, 1, 2, 2, 3, 3 を1列に並べる。 (1) 相異なる並べ方は全部で何通りあるか。 (2) 同じ数字が隣り合わない並べ方は何通りあるか。

順列包除原理組み合わせ
2025/7/3

6つの数字 1, 2, 2, 3, 3 を1列に並べる。 (1) 異なる並べ方は全部で何通りあるか。 (2) 同じ数字が隣り合わない並べ方は何通りあるか。

順列組み合わせ場合の数数え上げ
2025/7/3

右の図のような道がある街において、以下の問いに答えます。 (1) AからBへ行く最短経路は何通りあるか。 (2) AからBへ行く最短経路のうち、Cを通るものは何通りあるか。 (3) AからBへ行く最短...

組み合わせ最短経路二項係数
2025/7/3

6つの数字1, 1, 2, 2, 3, 3を1列に並べる。 (1) 異なる並べ方は全部で何通りあるか。 (2) 同じ数字が隣り合わない並べ方は何通りあるか。

順列組み合わせ包除原理
2025/7/3

右の図のような道がある街において、以下の3つの問いに答える。 (ア) AからBへ行く最短経路は何通りあるか。 (イ) AからBへ行く最短経路のうち、Cを通るものは何通りあるか。 (ウ) AからBへ行く...

組み合わせ最短経路場合の数
2025/7/3

問題は、"internet" のすべての文字を使ってできる順列の総数と、そのうち "net" がこの順に現れる順列の数を求める問題です。

順列組み合わせ文字列
2025/7/3

集合 $A = \{a, b, c, d, e, f\}$ と、A上の関係 $R = \{(a, a), (b, b), (b, c), (b, e), (c, b), (c, c), (c, e),...

集合論関係同値関係商集合
2025/7/3

順列の計算と階乗の計算を行う問題です。 具体的には、 (1) $_5P_3$ の値を求める。 (2) $4! \times 3!$ の値を求める。

順列階乗組み合わせ論
2025/7/3

順列に関する次の2つの値を求めます。 ① $5P_3$ ② $4! \times 3!$

順列組み合わせ階乗nPr
2025/7/3