過去問解きまくり研究所 ホーム

平成29年度 春期 午前Ⅱ 問19

データ操作

入れ子ループ法に関する問題

関係データベースにおいて,タプル数 n の表二つに対する結合操作を,入れ子ループ法によって実行する場合の計算量はどれか。

答えと解説を見る

✓ これが正解ウO(n^2)

解説

一方の各行ごとに他方の全行を調べるので、n×nでO(n^2)です。

入れ子ループ法は、一方の表の行を一つずつ取り出し、そのたびにもう一方の表の行を全部たどって、結合条件に合う組を探す方法です。見分ける軸は、比較の回数がnにどう比例して増えるかです。外側の表の行がn個あり、その1行ごとに内側の表のn行と比べるので、比較の回数はn×n=n^2回です。たとえばnが10倍になると、比較の回数は100倍になります。この増え方を計算量の記法で表すとO(n^2)です。ループを入れ子にした処理は、ループの回数どうしを掛け合わせて見積もる、と覚えておくと計算量を素早く判断できます。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成29年度 春期 データベーススペシャリスト試験 午前Ⅱ 問19

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)