HOME»基本情報技術者平成16年秋期»午前問14
基本情報技術者平成16年秋期 午前問14
午前問14
5けたの a1a2a3a4a5 をハッシュ法を用いて配列に格納したい。ハッシュ関数を mod(a1+a2+a3+a4+a5,13)とし,求めたハッシュ値に対応する位置の配列要素に格納する場合,54321は次の配列のどの位置に入るか。ここで,mod(x,13)の値はxを13で割った余りとする。

- [この問題の出題歴]
- 基本情報技術者 R1秋期 問10
- 基本情報技術者 H22秋期 問7
- 基本情報技術者 H25春期 問7
分類
テクノロジ系 » アルゴリズムとプログラミング » アルゴリズム
正解
イ
解説
ハッシュ法とは、探索するデータのキー値からデータの格納アドレスを直接計算する方法で、この計算の際に使われる関数をハッシュ関数といいます。
ハッシュ関数が mod(a1+a2+a3+a4+a5、13) なので、そのまま"54321"を当てはめます。mod()は、第1引数を第2引数で割った余りを求めるので、
mod(5+4+3+2+1,13)=mod(15,13)=2
したがって、データ"54321"が格納されるのは配列の2番目の位置となります。
ハッシュ関数が mod(a1+a2+a3+a4+a5、13) なので、そのまま"54321"を当てはめます。mod()は、第1引数を第2引数で割った余りを求めるので、
mod(5+4+3+2+1,13)=mod(15,13)=2
したがって、データ"54321"が格納されるのは配列の2番目の位置となります。