アルゴリズムとプログラミング
基本情報技術者試験 科目A免除 修了試験 20120624 実施分 問2
0000 ~ 4999 のアドレスをもつハッシュ表があり,レコードのキー値からアドレスに変換するアルゴリズムとして基数変換法を用いる。キー値が 55550 のときのアドレスはどれか。ここで,基数変換法とは,キー値を 11 進数とみなし,10 進数に変換した後,下 4 桁に対して 0.5 を乗じた結果(小数点以下は切捨て)をレコードのアドレスとする。
答えを選ぶ
出典:基本情報技術者試験 科目A免除 修了試験 20120624 実施分 問2(問題文は IPA の公開問題。解説は当サイト作成)
答えと解説を見る
正解:ア
覚える知識
ハッシュ関数によるハッシュ値計算
基数変換法は、キー値をn進数とみなして10進数に直し、その一部を演算してアドレスにするハッシュ関数である。
この問題で必要なこと
キー55550を11進数とみなして10進化すると80520で、下4桁0520に0.5を掛けた260が0260になる。
ひっかけ
11進数の桁の重み(11の累乗)を誤ると別の値になる。
この知識の出題:本試験系 5 回・免除試験 11 回(公開問題での観測値)