テクノロジ系19 / 80問
応用情報技術者試験 令和5年度 春期 午前 問19
ハッシュ表の理論的な探索時間を示すグラフはどれか。ここで、複数のデータが同じハッシュ値になることはないものとする。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】エ
ハッシュ表では、探索キーをハッシュ関数に入力して、データを格納した位置を表すハッシュ値を求めます。この問題では、複数のデータが同じハッシュ値になる衝突がないため、求めた位置を直接参照できます。表内のデータ数が増えても、ハッシュ値の計算と格納位置へのアクセスという一定の処理だけで探索できます。したがって、データ1個当たりの理論的な探索時間はデータ数に依存せず、計算量はO(1)です。横軸の値が増えても縦軸の値が一定である、水平なグラフのエが該当します。
アの下に凸で急激に増加するグラフは誤りです。これはデータ数の増加に対して探索時間の増加率まで大きくなる、O(nの2乗)などの関係を表す形です。衝突のないハッシュ探索では、このような増加は生じません。
イの直線的に増加するグラフは誤りです。これは先頭から目的のデータを順番に調べる線形探索のO(n)に相当する関係です。
ウの増加しながら次第に傾きが緩やかになるグラフも誤りです。これは二分探索のO(log n)のような、対数的に増加する関係を表します。ハッシュ表の探索時間は対数的にも増加しません。
【ポイント】 衝突のないハッシュ探索の平均及び理論上の探索時間はO(1)です。線形探索はO(n)、整列済みデータに対する二分探索はO(log n)であり、グラフの形と併せて覚えましょう。
出典:令和5年度 春期 応用情報技術者試験 午前 問19
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の80問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる