IPA過去問ドリル

平成21年度 春期 応用情報技術者試験 午前 問8

テクノロジ/アルゴリズム

相異なるn個のデータが昇順に整列された表がある。この表をm個のデータごとのブロックに分割し,各ブロックの最後尾のデータだけを線形探索することによって,目的のデータの存在するブロックを探し出す。次に,当該ブロック内を線形探索して目的のデータを探し出す。このときの平均比較回数を表す式はどれか。ここで,mは十分大きく,nはmの倍数とし,目的のデータは必ず表の中に存在するものとする。

出典:平成21年度 春期 応用情報技術者試験 午前 問8

正解:イ

解説

ブロック数はn/m個あり,各ブロックの最後尾を線形探索するので平均比較回数は(n/m)/2=n/(2m)回,ブロック内の線形探索は平均m/2回necessitatesされます。合計するとm/2+n/(2m)になります。

選択肢ごとの解説

  • 誤り。m+n/mは,ブロック内探索とブロック探索の平均(÷2)を取らずに単純に足し合わせた場合の式です。
  • 正しい。ブロック探索の平均比較回数n/(2m)とブロック内探索の平均比較回数m/2を合計した式です。
  • 誤り。n/mはブロックの総数であり,平均比較回数を表す式ではありません。
  • 誤り。n/(2m)はブロックを探し出すための平均比較回数のみであり,ブロック内探索の回数(m/2)が含まれていません。
応用情報技術者の過去問を演習モードで解く