平成26年度 春期 応用情報技術者試験 午前 問6
従業員番号と氏名の対が n 件格納されている表に線形探索法を用いて,与えられた従業員番号から氏名を検索する。この処理における平均比較回数を求める式はどれか。ここで,検索する従業員番号はランダムに出現し,探索は常に表の先頭から行う。また,与えられた従業員番号がこの表に存在しない確率を a とする。
キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:エ
- 従業員番号が表に存在する場合(確率 1−a):先頭から探すので,平均比較回数は (1+2+…+n)/n = (n+1)/2 回です。
- 従業員番号が表に存在しない場合(確率 a):最後まで比較するので,比較回数は n 回です。
平均比較回数 = (n+1)/2 × (1−a) + n × a = (n+1)(1−a)/2 + na
-
ア: (n+1)/2 + na/2
誤り。存在する場合の確率 (1−a) が考慮されておらず,存在しない場合も n/2 回になっています。 -
イ: (n+1)(1−a)/2
誤り。存在しない場合(確率 a)の比較回数 na が含まれていません。 -
ウ: (n+1)(1−a)/2 + n/2
誤り。存在しない場合の比較回数が確率 a を掛けずに n/2 となっており誤りです。 -
エ: (n+1)(1−a)/2 + na
正しい。存在する場合と存在しない場合の比較回数を,それぞれの確率で重み付けして足し合わせた正しい式です。
答え
エ: (n+1)(1−a)/2 + na
出典:平成26年度 春期 応用情報技術者試験 午前 問6