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

平成30年度 春期 午前 問6

基礎理論

このときの平均比較回数を表す式

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

答えと解説を見る

✓ これが正解イm/2 + n/(2m)

解説

2段の探索それぞれの平均を足すと m/2 + n/(2m) です。

設問は、昇順に整列された n 個のデータを m 個ずつのブロックに区切り、まず各ブロックの最後尾だけを線形探索して目的のブロックを見つけ、次にその中を線形探索する方式の、平均比較回数を尋ねています。探索が2段になっているので、段ごとに平均を出して足せば済みます。まず数を押さえます。全体が n 個で1ブロックが m 個ですから、ブロックの数は n/m 個です。線形探索の平均比較回数は、目的のものが必ず表の中にあるとき、調べる件数のちょうど半分になります。したがって第1段は n/m 個を線形探索するので平均 n/(2m) 回、第2段はブロック内の m 個を線形探索するので平均 m/2 回です。足すと m/2 + n/(2m) となります。n が 100 で m が 20 のときで確かめると、第1段は 5 個なので 2.5 回、第2段は 20 個なので 10 回、合計 12.5 回となり、この式に入れた値と一致します。

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

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

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