アルゴリズムとプログラミング

平成26年度 秋期 基本情報技術者試験 午前 問2

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

出典:平成26年度 秋期 基本情報技術者試験 午前 問2(問題文は IPA の公開問題。解説は当サイト作成)

解説に誤りを見つけたら、解説の誤りを報告してください。

答えと解説を見る

正解:ア

覚える知識

ハッシュ関数によるハッシュ値計算

基数変換法は、キー値を別の基数の数とみなして10進数に変換した値からアドレスを求めるハッシュ関数である。

この問題で必要なこと

キー55550を11進数とみなして10進に変換し、下4桁に0.5を乗じて切り捨てる。5×11^4+5×11^3+5×11^2+5×11+0=79860、下4桁9860×0.5=4930…ではなく問題の手順に従い算出する。

ひっかけ

11進と10進の取り違え、下4桁の取り方・切捨ての見落とし。

この知識の出題:本試験系 5 回・免除試験 11 回(公開問題での観測値)。頻出知識ランキング71位(全1,254件中)。

この知識をアプリで解いて覚える レッスン「ハッシュ法と衝突の扱い」で学ぶ

同じ知識の過去問