必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. 応用情報技術者
  3. 平成26年度春季問題一覧
  4. 平成26年度春季問題6-解答・解説-分析

平成26年度春季問題

問題6

従業員番号と氏名の対がn 件格納されている表に線形探索法を用いて、与えられた従業員番号から氏名を検索する。 この処理における平均比較回数を求める式はどれか。 ここで、検索する従業員番号はランダムに出現し、探索は常に表の先頭から行う。 また、与えられた従業員番号がこの表に存在しない確率をa とする。

従業員番号と氏名の対がn 件格納されている表に線形探索法を用いて、与えられた従業員番号から氏名を検索する。 この処理における平均比較回数を求める式はどれか。 ここで、検索する従業員番号はランダムに出現し、探索は常に表の先頭から行う。 また、与えられた従業員番号がこの表に存在しない確率をa とする。

解答:エ

<解説>

線形探索は、探索表の先頭から順に目的のデータが見つかるまで探索する方法である。

比較回数は次のようになる。

  • 最大比較回数はn
  • 平均比較回数は(n+1)÷2

この問題では「与えられた従業員番号がこの表に存在しない確率をa とする。」とある。表に検索対象が存在しない場合の比較回数は最大比較回数のnなので、比較回数の平均値は

平均比較回数×検索対象が存在する確率+最大比較回数×検索対象が存在しない確率となる。

したがって、

{(n+1)/2}×(1-a)+n×1={n+1)(1/a)÷2}+naとなる。

したがって、エが正解である。