5けたのa1a2a3a4a5をハッシュ法を用いて配列に格納したい。ハッシュ関数をmod(a1+a2+a3+a4+a5,13)とし,求めたハッシュ値に対応する位置の配列要素に格納する場合,54321は次の配列のどの位置に入るか。ここで,mod(x,13)の値はxを13で割った余りとする。
ア 1
イ 2
ウ 7
エ 11
【解説】
ハッシュ法とは、探索するデータのキー値からデータの格納アドレスを直接計算する方法です。
この計算の際に使われる関数をハッシュ関数といいます。
この問題のハッシュ関数は、各桁の数値をそれぞれ足し算をし、さらに13で割った余りをもって配列要素の格納位置を定めます。
mod(a1+a2+a3+a4+a5、13) なので、そのまま"54321"を当てはめると、
mod(5+4+3+2+1,13)=2
mod()は余りを求めるので、
したがってデータ"54321"は配列の2番目の位置に格納されることになります。
【解答】ウ
[この問題の出題歴]
基本情報技術者 平成16年 秋期 問14
基本情報技術者 平成25年 春期 問7



