メインコンテンツへスキップ
応用情報技術者令和5年度 春期午前問 6

令和5年度 春期 応用情報技術者 午前 問6

難度標準

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

選択肢

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

この問題では、線形探索法(Linear Search)における平均比較回数を問われています。線形探索法とは、リストの先頭から順番に目的のデータを探していく探索方法です。

詳細Layer 2
展開

まず、検索対象の従業員番号が表に「存在する」確率は (1-a) です。従業員番号が存在する場合、探索は先頭から順番に行われ、平均して表の半分(n/2)の位置で見つかると考えられます。ただし、最悪の場合は最後のn番目まで比較することになります。

補足Layer 3
展開

一方、検索対象の従業員番号が表に「存在しない」確率は a です。この場合、表の全ての要素(n件)を比較する必要があり、比較回数は必ずn回となります。

したがって、平均比較回数は、「存在する確率 × 存在する場合の平均比較回数」+「存在しない確率 × 存在しない場合の比較回数」で求められます。

(1-a)× (n+1)/2 + a × n となります。

(1-a)× (n+1)/2 は、従業員番号が存在し、かつ先頭から平均して表の半数((n+1)/2、これは探索が成功した場合の平均位置です)で見つかる場合を考慮しています。

a × n は、従業員番号が存在しない場合に、表の全ての要素n件を比較する場合です。

これらの項を整理すると、(1-a)(n+1)/2 + na となり、選択肢エが正解となります。

誤りの選択肢についてですが、アはaの項がnではなくnaになっており、イとウは存在しない場合の比較回数nが考慮されていません。

この解説は?
AI生成

解説は公式の問題文・公式解答を基に作成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ずリンク先の公式資料でご確認ください。

最終更新:

検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

分野「アルゴリズムとプログラミング」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
計算量(O 記法)・基本データ構造・典型アルゴリズム(探索・整列)・再帰の挙動を読む力。
学習の進め方
擬似コードを実際にトレースして変数の遷移を表に書き出す習慣を付ける。スタック/キュー/木の図示が定着の鍵。
関連キーワード
計算量二分探索クイックソート再帰スタックキュー木構造
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

関連する問題

アルゴリズムとプログラミング の他の問題

他試験区分の同分野問題

応用情報技術者 と共通カリキュラムの他区分で「アルゴリズムとプログラミング」分野を演習する

他年度の「アルゴリズムとプログラミング」問題

応用情報技術者 の同じ分野を年度をまたいで演習する

応用情報技術者 の学習ガイド