平成21年 春期 基本情報技術者 午前 問2

0000〜4999のアドレスをもつハッシュ表があり、レコードのキー値からアドレスに変換するアルゴリズムとして基数変換法を用いる。
キー値が55550のときのアドレスはどれか。
ここで、基数変換法とは、キー値を11進数とみなし、10進数に変換した後、下4けたに対して0.5を乗じた結果(小数点以下は切捨て)をレコードのアドレスとする。

 ア  0260  イ  2525  ウ  2775  エ  4405


答え ア


解説
問題文の基数変換法を55550に対し実施する。
11進数55550を10進数に変換する。
 5555011=5×114+5×113+5×112+5×111+0×110
 =8052010
この値の下4けたに対して0.5を乗じた結果がレコードのアドレスなので
 0520×0.5=0260
(ア)になる。


キーワード
・ハッシュ表

キーワードの解説
  • ハッシュ表
    データの格納方法で、データからハッシュ関数で用いたハッシュ値をキーとして格納位置を決めます。
    異なったデータから同じハッシュ値になることを衝突(コリジョン)といい、衝突が発生した場合の格納位置の求め方も考慮しておく必要があります。

もっと、「ハッシュ表」について調べてみよう。

戻る 一覧へ 次へ