IPA過去問ドリル

平成30年度 春期 応用情報技術者試験 午前 問26

テクノロジ/データベース

関係データベースのテーブルにレコードを 1 件追加したところ,インデックスとして使う,図の B+木のリーフノード C がノード C1 と C2 に分割された。ノード分割後の B+木構造はどれか。ここで,矢印はノードへのポインタとする。また,中間ノード A には十分な空きがあるものとする。分割前は,中間ノード A の下に,リーフノード B,C,D が横方向のポインタ(双方向)で連結されている構造である。

平成30年度 春期 応用情報技術者試験 午前 問26の図

出典:平成30年度 春期 応用情報技術者試験 午前 問26

正解:イ

解説

B+木のリーフノードが分割されると,分割後の2つのノード(C1,C2)は元のリーフノードと同じ順序でリンクリスト(B←→C1←→C2←→D)としてつながり,親ノードAからはB,C1,C2,Dの4つの子ノードすべてに直接ポインタが張られます。

選択肢ごとの解説

  • 誤り。この選択肢はC1とC2の間にDが割り込む形でリンクされており,キー順を保ったリーフの連結として不適切です。
  • 正しい。親ノードAからB,C1,C2,Dの4つ全てに直接ポインタが張られ,リーフノード同士もB−C1−C2−Dの順で正しくリンクされています。
  • 誤り。この選択肢はC1とDの間にC2が入れ替わった順序でリンクされており,キーの昇順を保っていません。
  • 誤り。この選択肢はC2がC1にのみリンクされ親ノードAから直接ポインタが張られておらず,B+木のリーフノードの構造として不適切です。
応用情報技術者の過去問を演習モードで解く