平成22年度 秋期 応用情報技術者試験 午前 問6
探索表の構成法を例とともに a~c に示す。探索の平均計算量が最も小さい探索手法の組合せはどれか。ここで,探索表のコードの空欄は表の空きを示す。

| a | b | c | |
|---|---|---|---|
| ア | 2分探索 | 線形探索 | ハッシュ表探索 |
| イ | 2分探索 | ハッシュ表探索 | 線形探索 |
| ウ | 線形探索 | 2分探索 | ハッシュ表探索 |
| エ | 線形探索 | ハッシュ表探索 | 2分探索 |
キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:ア
-
a: コード順に格納した探索表
コードが昇順に整列しているので,2分探索が使えます(平均計算量 O(log n))。 -
b: コードの使用頻度順に格納した探索表
コード順には並んでいないので2分探索は使えません。使用頻度の高いものが先頭にあるので,先頭から順に調べる線形探索が有効です。 -
c: コードから一意に決まる場所に格納した探索表
コードから計算(ハッシュ関数)で格納位置を求める方式なので,ハッシュ表探索です(平均計算量 O(1))。 -
ア: a 2分探索,b 線形探索,c ハッシュ表探索
正しい。上記の組合せと一致します。 -
イ: a 2分探索,b ハッシュ表探索,c 線形探索
誤り。b は格納位置がコードから決まらないのでハッシュ表探索はできず,c に線形探索を使うのは非効率です。 -
ウ: a 線形探索,b 2分探索,c ハッシュ表探索
誤り。b はコード順に整列していないので2分探索は使えません。また a は2分探索の方が効率的です。 -
エ: a 線形探索,b ハッシュ表探索,c 2分探索
誤り。b にハッシュ表探索,c に2分探索は使えません。
答え
ア: a 2分探索,b 線形探索,c ハッシュ表探索
出典:平成22年度 秋期 応用情報技術者試験 午前 問6