関係データベースのテーブルにレコードを1件追加したところ,インデックスとして使う,図のB⁺木のリーフノードCがノードC1とC2に分割された。ノード分割後のB⁺木構造はどれか。ここで,矢印はノードへのポインタとする。また,中間ノードAには十分な空きがあるものとする。
→[A] [A]→[B],[A]→[C],[A]→[D] [B]↔[C]↔[D]
テクノロジ系
関係データベースのテーブルにレコードを1件追加したところ,インデックスとして使う,図のB⁺木のリーフノードCがノードC1とC2に分割された。ノード分割後のB⁺木構造はどれか。ここで,矢印はノードへのポインタとする。また,中間ノードAには十分な空きがあるものとする。
→[A] [A]→[B],[A]→[C],[A]→[D] [B]↔[C]↔[D]
正解 イ
B⁺木でリーフが分割されると、親の中間ノードAからC1とC2の両方へポインタが張られます。リーフ同士もキーの順にB↔C1↔C2↔Dとつながります。
B⁺木では、キーの値はすべてリーフノードに格納されます。リーフノード同士は、キーの順に双方向のポインタでつながっています。リーフノードCがC1とC2に分割されると、C2の先頭のキーが親の中間ノードAに追加されます。そのため、AからC1とC2の両方へポインタが張られます。Aには十分な空きがあるので、Aは分割されません。リーフの連結は、元のCの位置にC1とC2が順に入り、B↔C1↔C2↔Dになります。
ア:リーフの連結はB↔C1↔C2↔Dで正しいです。しかし、AからC2へのポインタがありません。これでは、Aから探索してC2のキーにたどり着けません。
ウ:C2がDの後ろに置かれており、キーの順序が崩れています。C2のキーはDのキーより小さいので、C2はC1とDの間に入ります。
エ:B⁺木のリーフはすべて同じ深さにそろいます。C2をC1の下にぶら下げる構造にはなりません。また、AからC2へのポインタもありません。
出典:平成30年度 春期 応用情報技術者試験 問26
全年度から出題。10問で実力を判定します。登録不要。
出典:平成30年度 春期 応用情報技術者試験 問26(独立行政法人情報処理推進機構)
解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方