過去問解きまくり研究所 ホーム

平成22年度 秋期 午前 問6

基礎理論

探索表の構成法を例とともに a〜c に示す。探索の平均計算量が最も小さい探索手法の組合せはどれか。ここで,探索表のコードの空欄は表の空きを示す。

〔探索表の構成法〕

a  コード順に格納した探索表
     コード          データ
     120380 / 120381 / 120520 / 140140 を上から昇順に詰めて格納(以下は空き)

b  コードの使用頻度順に格納した探索表
     120381 / 140140 / 120520 / 120380 を上から使用頻度の高い順に格納(以下は空き)

c  コードから一意に決まる場所に格納した探索表
     空き / 120381 / 空き / 120520 / 140140 / 空き / 120380 / 空き
     ⇒ 格納する行がコードから直に決まり、間に空きが残る
答えと解説を見る

✓ これが正解アa=2 分探索 / b=線形探索 / c=ハッシュ表探索

解説

格納の並び方が、使える探索手法を先に決めます。

まず設問の読み方を確かめます。問われているのは 3 つの表それぞれについて平均計算量が最も小さくなる手法であって、3 つの中でいちばん速い表を 1 つ選ぶ問いではありません。決め手は、その表の並び方が何を許すかです。コード順に詰めて並んでいる表は、大小を比べて範囲を半分ずつ絞れるので 2 分探索が効きます。使用頻度の順に並んでいる表は、並びがコードの大小と無関係なので絞り込みの手がかりがなく、上から順に見る線形探索しかありません。頻度の高いものが上にある分だけ平均は小さくなりますが、手法としては順に見る側です。コードから格納する場所が一意に決まり、間に空きが残る表は、位置を計算で求めるハッシュ表探索の姿です。設問がわざわざ、コードの空欄は表の空きを示す、と断っているのが伏線で、空きが飛び飛びに残るのは詰めて格納しない方式の特徴です。この 3 つを並べた組合せが正解になります。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成22年度 秋期 応用情報技術者試験 午前 問6

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)