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

分野:アルゴリズムとプログラミング|実際に出題されたIPA過去問題

ハッシュ表の理論的な探索時間を示すグラフはどれか。ここで,複数のデータが同じハッシュ値になることはないものとする。

問題の図表(IPA公式問題冊子より引用)
図表:IPA公式問題冊子より

※選択肢ア〜エは上の図表内に記載されています。

解答・解説を見る

正解:エ

AI解説

ハッシュ表は理想的には(衝突がなければ)ハッシュ関数によって格納位置が一意に決まるため、データ件数(表のサイズ)によらずほぼ一定時間(O(1))で探索できる。 ア: 探索時間がデータ件数に比例して増加するグラフは線形探索(O(n))の特性であり、ハッシュ表の理論値ではない。 イ: 探索時間がデータ件数の対数に比例するグラフは2分探索木など(O(log n))の特性であり、ハッシュ表の理論値ではない。 ウ: データ件数の増加に伴い緩やかに増加するグラフは衝突を考慮した現実的な探索時間に近いが、衝突がないという前提の理論値としては誤りである。 エ: 正解。衝突が発生しないという前提の下では、ハッシュ表の探索時間はデータ件数によらずほぼ一定(O(1))となるグラフが理論値を表す。 💡 ハッシュ表の平均探索時間はO(1)だが、これは衝突がない、あるいは衝突対策(オープンアドレス法・チェイン法)が十分機能している場合の理想値である点に注意。実際には衝突が起きると性能は劣化する。

出典:令和5年度 春期 応用情報技術者試験 午前 問19 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

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

データ構造・アルゴリズム・探索と整列・計算量・擬似言語・プログラム言語・データ記述言語が対象です。擬似言語のトレースは時間はかかるものの、落ち着いて表を書けば必ず正解にたどり着く「確実に取れる」問題です。

アルゴリズムとプログラミングの攻略ポイントをすべて見る(要点6項目・ひっかけ3項目)→

同じ分野(アルゴリズムとプログラミング)の過去問