作者mingrong2 (mingrong)
看板Examination
标题[课业] 资料结构-hashing table
时间Tue Mar 19 15:57:03 2013
题目如下:
若一个杂凑表包含1000 slots(标注为1~1000),若关键值是介於
1~99999之间,下面哪一个杂凑表是正确的?
(A)h(x)=x mod 1000
(B)h(x)=(x-1) mod 1000
(C)h(x)=((x+1)mod 999)
(D)h(x)=(x mod 1000)+1
答案是(D)
这题我的疑问是键值为1~9999,若我要杂凑表的第一个标注1,
那以答案(D)的杂凑函数不就无法得到,因为x最小为1,
那以1带入的话,h(1)=(1 mod 1000)+1=2,最小也只能到2,
请问一下我的观念是哪里错误了??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 124.199.76.237
1F:推 a1988152002:MOD 1000 余数是1-999 有999个slots 03/19 16:07
2F:→ a1988152002:题目要1000 所以在加一 03/19 16:07
3F:推 bobobola:楼上点醒我了 03/19 16:13
4F:→ kaitouGamer:不是吧 MOD 1000 余数为0~999才对 但因为标注要求为 03/19 16:14
5F:→ kaitouGamer:1~1000 所以+1 无关关键值介於多少 03/19 16:15
6F:→ kaitouGamer:h(1)=2 h(2)=3... h(1000)=1 h(1001)=2 03/19 16:15
7F:推 bobobola:1没有放没差 03/19 16:17
8F:→ bobobola:应该是说没有0的slot 03/19 16:18
9F:→ mingrong2:了解!!谢谢各位指点~ 03/19 16:47
10F:推 carterdunk:若我要杂凑表的第一个标注1 ---> 题目没有要求 03/19 16:53