正解は エ
ハッシュ表(Hash Table)における衝突(collision)の概念を問う問題です。ハッシュ関数とは、データのキーから格納位置(ハッシュ値)を計算する関数です。この問題では「小文字アルファベットのASCIIコードの1の位」をハッシュ値として使います。小文字アルファベットのASCIIコード:a=97, b=98, c=99, d=100, e=101, f=102, g=103, h=104, i=105, j=106, k=107, l=108, m=109, n=110, o=111, p=112, q=113, r=114, s=115, t=116, u=117, v=118, w=119, x=120, y=121, z=122。1の位(10で割った余り)を計算すると:d=100→ハッシュ値0、x=120→ハッシュ値0。dとxのハッシュ値が同じ(0)であるため衝突が発生します。衝突とは異なるキーが同一のハッシュ値を持つ現象で、チェイン法(連結リスト)やオープンアドレス法(線形探索)で解決します。
小文字aのASCIIコードは97(0x61)と覚えておく。各文字のコードはaから何番目かを97に足すだけ(b=98, c=99...)。ハッシュ値=ASCIIコード mod 10(1の位)。同じ1の位の組み合わせを探す問題。