応用情報技術者 2016年 秋期 午前2 問05
問題文
あるB木は、各節点に4個のキーを格納し、5本の枝を出す。このB木の根 (深さのレベル0) から深さのレベル2 までの節点に格納できるキーの個数は、最大で幾つか。
選択肢
ア:24
イ:31
ウ:120
エ:124(正解)
あるB木は、各節点に4個のキーを格納し、5本の枝を出す。このB木の根 (深さのレベル0) から深さのレベル2 までの節点に格納できるキーの個数は、最大で幾つか。【午前2 解説】
要点まとめ
- 結論:深さ2までの節点に格納できるキーの最大数は124個です。
- 根拠:各節点は最大4個のキーを持ち、枝は5本。レベルごとの節点数は5のべき乗で増加します。
- 差がつくポイント:節点数の計算とキー数の掛け算を正確に行うことが重要です。
正解の理由
このB木は各節点に最大4個のキーを持ち、枝は5本出ます。
- レベル0(根):節点数1 → キー数
- レベル1:節点数5 → キー数
- レベル2:節点数 → キー数
合計は となり、選択肢の中でエが正解です。
よくある誤解
節点数を枝の数でなくキーの数で計算したり、レベルごとの節点数のべき乗を誤ることが多いです。
解法ステップ
- B木の枝の数(5本)から節点の最大子数を確認する。
- 各レベルの節点数を計算する(レベル の節点数は )。
- 各節点の最大キー数(4個)を掛けてレベルごとのキー数を求める。
- レベル0からレベル2までのキー数を合計する。
- 合計値と選択肢を比較し、正解を選ぶ。
選択肢別の誤答解説
- ア: 24
レベルごとの節点数やキー数の計算が不足しており、合計が大幅に少ない。 - イ: 31
根のキー数4とレベル1の節点数5を混同し、正確なべき乗計算ができていない。 - ウ: 120
レベル2の節点数25に4を掛けて100とし、合計を誤って計算している可能性がある。 - エ: 124
正確に計算した結果であり、正解。
補足コラム
B木はデータベースやファイルシステムで広く使われる平衡木構造です。
節点のキー数と枝数の関係は「節点の最大子数 = 最大キー数 + 1」であり、これを理解すると節点数の計算が容易になります。
節点のキー数と枝数の関係は「節点の最大子数 = 最大キー数 + 1」であり、これを理解すると節点数の計算が容易になります。
FAQ
Q: なぜ節点数は になるのですか?
A: 根が1節点で、各節点が最大5本の枝を持つため、レベル の節点数は の 乗になります。
A: 根が1節点で、各節点が最大5本の枝を持つため、レベル の節点数は の 乗になります。
Q: B木のキー数と枝数の関係は?
A: 各節点の最大キー数が のとき、最大子数は です。今回の例ではキー4個に対し枝は5本です。
A: 各節点の最大キー数が のとき、最大子数は です。今回の例ではキー4個に対し枝は5本です。
関連キーワード: B木、節点数計算、木構造、データベース索引、平衡木

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

