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

テクノロジ系・一部改変

ア m+n/m

なぜ違う: 平均(÷2)を取っておらず、最悪値に近い見積り。

イ m/2+n/2m
ウ m/n

なぜ違う: ブロック数・ブロック内探索のいずれも反映していない。

エ n/2m

なぜ違う: 第1段(ブロック末尾の探索)の平均 n/2m だけで、ブロック内を探す第2段の平均 m/2 を欠く。

正解: イ

要点: ブロック探索の平均(n/m)/2+ブロック内線形探索の平均 m/2 = m/2+n/2m。

ブロック数は n/m。第1段でブロック末尾を線形探索する平均比較回数は (n/m)/2=n/2m。第2段でブロック内(サイズ m)を線形探索する平均は m/2。合計 m/2+n/2m。

関連キーワード: 探索アルゴリズム・線形探索・平均比較回数・計算

同じ回の前後の問題

テクノロジ系の他の問題

アプリで弱点分析つきの演習ができます

App Store

応用情報技術者の学習アプリ(応用情報トレ)

出典:令和7年度 秋期 応用情報技術者試験 午前 問6