平成30年度 春期 応用情報技術者試験 午前 問26
テクノロジ/データベース関係データベースのテーブルにレコードを 1 件追加したところ,インデックスとして使う,図の B+木のリーフノード C がノード C1 と C2 に分割された。ノード分割後の B+木構造はどれか。ここで,矢印はノードへのポインタとする。また,中間ノード A には十分な空きがあるものとする。分割前は,中間ノード A の下に,リーフノード B,C,D が横方向のポインタ(双方向)で連結されている構造である。

出典:平成30年度 春期 応用情報技術者試験 午前 問26
- アB+木構造ア
- イB+木構造イ
- ウB+木構造ウ
- エB+木構造エ
正解:イ
解説
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+木のリーフノードの構造として不適切です。