平成29年度 春期 午前 問7
アルゴリズム
2分探索に関する問題
顧客番号をキーとして顧客データを検索する場合,2分探索を使用するのが適しているものはどれか。
- ア顧客番号から求めたハッシュ値が指し示す位置に配置されているデータ構造
- イ顧客番号に関係なく,ランダムに配置されているデータ構造
- ウ顧客番号の昇順に配置されているデータ構造
- エ顧客番号をセルに格納し,セルのアドレス順に配置されているデータ構造
答えと解説を見る
✓ これが正解ウ顧客番号の昇順に配置されているデータ構造
解説
2分探索は、キーの順に並んでいることが前提になります。
2分探索は、真ん中を見て探す範囲を半分に切っていく手です。真ん中の値より探したい値が大きければ、後ろ半分に絞ります。小さければ前半分に絞り、これを繰り返しました。半分に切れるのは、並び順に意味があるからです。だから顧客番号の昇順に並んでいるものが当たりました。順に並んでいれば、真ん中との大小で行き先が決まります。並んでいないと、大小を比べても範囲を絞れません。ハッシュ値の位置に置く形は、番号の順とは無関係になります。計算した値が指す場所へ直接飛ぶ、別の探し方でした。でたらめに置いた形も、大小で絞る手掛かりを持ちません。先頭から順に見ていく探し方しか使えないのです。入れ物の番地の順に並べた形も、番号の順とは限りません。並び順が手掛かりです。並んでいるかどうかが、この手を使える条件でした。
ほかの選択肢はなぜ違うのか
- ア顧客番号から求めたハッシュ値が指し示す位…:ハッシュ値が指す位置に置いた形です。キーから場所を計算して、一度で飛べます。速い探し方ではありました。けれども番号の順には並びません。真ん中と比べても、範囲を絞れないのです。別の探し方でした。大小で絞れない置き方でした。
- イ顧客番号に関係なく,ランダムに配置されて…:番号に関係なく、でたらめに置いた形です。どこに何があるか見当がつきません。真ん中を見ても、行き先を決められません。先頭から順に見ていくほかありませんでした。半分に切る手が使えません。前提が崩れています。見当をつける手掛かりがありません。
- エ顧客番号をセルに格納し,セルのアドレス順…:入れ物の番地の順に並べた形です。置いた場所の順であって、番号の順ではありません。番地が近くても、番号が近いとは限りませんでした。真ん中の値と比べる意味がなくなります。絞り込みが働きません。並べ方が違いました。
この問題の用語
- ハッシュ値データから計算した固定長の値のこと。同じデータなら必ず同じ値になるので、データの比較や検索を速くするのに使われます。
出典:平成29年度 春期 基本情報技術者試験 午前 問7
同じ用語が出る問題
- 令和6年度 科目A 問9:ペネトレーションテストの問題(ハッシュ値)
- 令和元年度 秋期 午前 問36:動的解析に該当するもの(ハッシュ値)
- 令和元年度 秋期 午前 問10:ハッシュ法に関する問題(ハッシュ値)
- 平成28年度 秋期 午前 問43:ビヘイビア法に分類されるもの(ハッシュ値)
- 平成28年度 春期 午前 問44:ハッシュ値を利用する目的(ハッシュ値)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)