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

テクノロジアルゴリズムデータベース

この問題は2023(R5)秋 データベーススペシャリスト 午前IIに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

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

解答・解説を読む

正解: 選択肢

B+木インデックスは、データを効率よく検索・更新・削除するためにデータベースなどで広く用いられている木構造(平衡多分木)です。

各ノードは複数のキーと子ノードへのポインタを持ち、常に木の高さが均等になるようバランスが保たれています。データ総件数を XX としたとき、1ノードあたりの分岐数を NN とすると、木の高さはおおよそ logNX\log_N X となります。ルートノードからリーフノードに向かって階層をたどりながら検索を行うため、ノードへのアクセス回数(探索の計算量)は木の高さに比例し、オーダーとしては logX\log X となります。

各選択肢の解説

  • ア:X\sqrt{X}
    誤りです。平方分割などの手法を用いた場合の検索オーダーですが、B+木インデックスのオーダーではありません。

  • イ:logX\log X
    正解です。 B+木を含む平衡二分探索木や多分木の検索にかかる計算量のオーダーです。

  • ウ:XX
    誤りです。インデックスを利用せずにデータを先頭から順番に比較していく線形探索(フルテーブルスキャン)を行った場合のオーダーです。

  • エ:X!X!
    誤りです。巡回セールスマン問題における単純な全探索など、組み合わせ爆発を起こす非常に計算量の大きいアルゴリズムのオーダーです。