自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を h(x) = x mod n とすると,任意のキー a と b が衝突する条件はどれか。ここで,n はハッシュ表の大きさであり,x mod n は x を n で割った余りを表す。
イ. a-b が n の倍数
ハッシュ関数 h(x)=x mod n で2つのキーが同じ格納位置になる(シノニム、衝突)条件を問う問題。衝突は a mod n = b mod n、つまり a と b を n で割った余りが等しいときに起こる。余りが等しいことは差 a−b がちょうど n で割り切れること、すなわち a−b が n の倍数であることと同値なので、正解はイである。
ap-2022r04a-a の過去問一覧へ戻る・問5