カコモンノート

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

26 / 80問
平成30年度 春期2018年

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

この問題の図
問題に添えられた図。出典は下に書いています。

選択肢をえらぶと、答えと解説が出ます

選択肢をえらぶと、
ここに答えと解説が出ます
正答 2

解説

正解は2。B⁺木では、すべてのデータがリーフノードにあり、リーフどうしはキーの順に横のポインタでつながっている。リーフCがC1とC2に分かれると、リーフの並びはB⇔C1⇔C2⇔Dとなり、親の中間ノードAにはC2を指すポインタ(とその境目のキー)が1つ追加される。Aには空きがあるので分割は上へ伝わらず、木の高さも変わらない。2の図がこの形である。

  • 1は、リーフの順はよいが、中間ノードAからC2へのポインタがない。これではC2のデータを根からたどれない。
  • 3は、リーフの順がB、C1、D、C2となっており、キーの順に並ぶというB⁺木の性質に反する。
  • 4は、C2がC1の下にぶら下がっており、すべてのリーフが同じ深さにあるというB⁺木の性質に反する。

根拠:B⁺木の構造(リーフの連結リストと、ノード分割時の親ノードへのキー・ポインタの追加)。

KEY POINT
B⁺木のリーフ分割では、新リーフを横の連結に挟み、親ノードにポインタを1つ追加する。
出典:平成30年度 春期 応用情報技術者試験 午前 問26(独立行政法人 情報処理推進機構(IPA))
独立行政法人情報処理推進機構(IPA)が公表している過去問題です。IPA の「過去問題の使用について」に基づき、IPA が指定する形で出典を明記して掲載しています(利用の許諾申請は不要)。問題文・選択肢の内容は変えていません。元の問題冊子から文字を起こす都合で、改行・字間の空白は省き、英数字の全角・半角は元とそろえていない箇所があります。図表は IPA が公表した問題冊子のものです。解説は当サイトが独自に作成したもので、IPA とは関係ありません。