アルゴリズム (全82問中48問目)

No.48

16進数で表される9個のデータ1A,35,3B,54,8E,A1,AF,B2,B3を順にハッシュ表に入れる。ハッシュ値をハッシュ関数 f(データ)=mod(データ,8)で求めたとき,最初に衝突が起こるのはどのデータか。ここで,mod(a,b) はaをbで割った余りを表す。
  • [この問題の出題歴]
  • 基本情報技術者 H16春期 問13

分類

テクノロジ系 » アルゴリズムとプログラミング » アルゴリズム

正解

解説

9個のデータを10進数で表記すると、26,53,59,84,142,161,175,178,179になります。

それぞれについて関数 f(データ)=mod(データ,8)を用いてハッシュを求めると、2,5,3,4,6,1,7,2,3となり、データが「26」と「178」のときに最初の衝突が起こることがわかります。

10進数178は、2進数状態のデータでB2であったので、これが正解となります。
© 2010-2018 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop