SkillStack
テクノロジ系4 / 25問

データベーススペシャリスト試験 令和5年度 秋期 午前II 問4

B⁺木インデックスが定義されている候補キーを利用して、1件のデータを検索するとき、データ総件数Xに対するB⁺木インデックスを格納するノードへのアクセス回数のオーダーはどれか。

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】イ

B⁺木は、一つのノードから複数の子ノードへ枝分かれする平衡木です。どの葉までたどっても木の深さがほぼ同じになるように保たれています。1ノード当たりの分岐数をmとすると、深さが1増えるごとに格納可能なキー数はおおむねm倍になり、深さhで扱える件数は約mのh乗です。したがって、X≒mのh乗からh≒logₘXとなります。候補キーは値が一意なので、ルートから目的の葉まで一つの経路をたどれば1件を特定でき、ノードへのアクセス回数はO(log X)です。このため、イが正解です。

アの√Xは誤りです。平方根に比例するアクセス回数は、B⁺木の段階的な絞込みを表すオーダーではありません。

ウのXは誤りです。これは全件を先頭から順に調べる線形探索、すなわち表の全走査に相当するオーダーです。B⁺木を候補キー検索に利用すれば全件走査は不要です。

エのX!は誤りです。階乗時間はX個の要素の全ての並べ方を調べるような組合せ探索で現れるものであり、索引検索とは関係しません。

【ポイント】 B⁺木の検索、挿入、削除の基本的な計算量はO(log X)です。 対数の底は分岐数で決まりますが、オーダー表記では底を省略できます。 等価検索だけでなく範囲検索にも適した索引です。

出典:令和5年度 秋期 データベーススペシャリスト試験 午前II 問4
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の25問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める