キーが小文字のアルファベット1文字 (a、b、・・・、zのいずれか) であるデータを、大きさが10のハッシュ表に格納する。ハッシュ関数として、アルファベットのASCIIコードを10進表記法で表した時の1の位の数を用いることにする。衝突が起こるキーの組合せはどれか。ASCIIコードでは、昇順に連続した2進数が、アルファベット順にコードとして割り当てられている。
ア aとi
イ bとr
ウ cとl
エ dとx
エ
ASCIIコード表では a は、0x61であり、10進表記では97となる。
ハッシュ関数として1の位の数を用いるから a と衝突が起こるのは、k と u である。
同様に
bと衝突が起こるのは、l と v
cと衝突が起こるのは、m と w
dと衝突が起こるのは、n と x である。
アルファベットを以下のように10個ずつまとめると答えはすぐに判る。
abcde fghij
klmno pqrst
uvwxy z
問4 | 目次 | 問6 |