過去問解きまくり研究所 ホーム

平成28年度 春期 午前Ⅱ 問2

トランザクション処理

B木に関する問題

k次のB木構造において,ルートノードはi個(1 ≦ i ≦ 2k)のレコードをもち,ルート以外のノードはj個(k ≦ j ≦ 2k)のレコードをもつものとする。ルートノードを1段目とした場合,B木は1段目からn段目までに最大何レコードを格納することができるか。ここで,k,nは自然数とし,n≧2とする。

答えと解説を見る

✓ これが正解イ(2k+1)^n−1

解説

各ノードに2k個、子は2k+1個なので、合計は(2k+1)^n−1です。

格納数が最大になるのは、すべてのノードが上限の2k個のレコードをもつときです。2k個のレコードをもつノードは、レコードの間と両端に合わせて2k+1個の子をもてます。したがって1段目は1ノード、2段目は2k+1ノード、m段目は(2k+1)^(m−1)ノードになります。1段目からn段目までのレコード数の合計は、2k×{1+(2k+1)+…+(2k+1)^(n−1)}で、等比数列の和の式を使うと2k×{(2k+1)^n−1}÷2kとなり、(2k+1)^n−1に整理できます。n=2で確かめると、2k+(2k+1)×2k=4k^2+4kで、(2k+1)^2−1と一致します。ノードの数を段ごとに数え、最後に等比数列の和でまとめる、という手順で解く問いです。

ほかの選択肢はなぜ違うのか

出典:平成28年度 春期 データベーススペシャリスト試験 午前Ⅱ 問2

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)