IPA公式正解:エ O(n^2)
※ 正解はIPA公表の解答です。解説は当サイトが生成AIを用いて作成しています。誤りにお気づきの場合はお問い合わせください。
【解説】正解は選択肢【エ】です。入れ子ループ法(ネステッドループ結合: Nested Loop Join)は、外側表(駆動表)の1行ごとに内側表(内部表)の全行を走査して結合条件を比較するアルゴリズムです。タプル数nの表同士の場合、n × n回の比較走査が必要となるため、計算量はO(n^2)となります。
【詳細解説】■ 本問の核心・解法のポイント
入れ子ループ法(Nested Loop Join)は、関係データベースにおける最も基本的・汎用的な結合アルゴリズムです。二重ループの構造をしており、外側関係(Outer relation)の各タプルに対して、内側関係(Inner relation)のすべてのタプルを順番に走査して結合条件の判定を行います。
・各選択肢の徹底解説:
・ア:O(log n)は、B+木インデックスの探索や二分探索などの計算量です。
・イ:O(n)は、1つの表の全走査や、適切なハッシュインデックスを利用した一対一検索などの計算量です。
・ウ:O(n log n)は、ソートマージ結合における事前ソート処理などの計算量です。
・エ:【選択肢エ★】タプル数nの表を2つ結合する場合、外側ループでn回、内側ループでn回処理が繰り返されるため、総処理回数は n × n = n^2 となり、計算量は O(n^2) となります。
よって正解はエです。