假设把整数关键码K散列到有N个槽的散列表,以下哪些散列函数是好的散列函数()
A.h(K)=KmodN
B.h(K)=1
C.h(K)=K/N
D.h(K)=(K+rand(N))modN,rand(N)返回一个0到N-1的整数
第1题:
设散列表的地址空间为0到18,散列函数为h (k) =k mod 19,用线性探查法解决碰撞。 现从空的散列表开始,依次插入关键码值190, 89, 217, 208,75,则最后一个关键码75的地址为【】。
第2题:
假定有k个元素的散列函数值相等(称为同义词),若用线性探测法把这k个元素逐一插入散列表中,至少要进行_____次探测。
A.k-1
B.k
C.k+1
D.k (k+1)/2
第3题:
假定把关键码K散列到有n个槽(从0到n-1编号)的散列表中,散列表用开散列的冲突解决策略。对于下面的每一个函数h(K),这个函数作为散列函数可以使得插入和检索操作一定能正常工作的有() 注: 1.函数Random(n)返回一个0到n-1之间的随机整数(包含这两个数在内)。 2.不考虑散列函数的性能,只考虑其正确性 (多选)
A.h(k)=1
B.h(k)=k mod n, 其中n是一个素数
C.h(k)=k/n,其中k和n都是整数
D.h(k)=(k + Random(n)) mod n
第4题:
1、假定有k个元素的散列函数值相等(称为同义词),若用线性探测法把这k个元素逐一插入散列表中,至少要进行_____次探测。
A.k-1
B.k
C.k+1
D.k (k+1)/2
第5题:
假定有k个元素的散列函数值相等(称为同义词),若用线性探测法把这k个元素逐一插入散列表中,至少要进行()次探测。
A.K
B.K+1
C.k-1
D.K(k+1)/2