假定散列表长度为M,采用模余法,若从空开始将间隔为T的M个关键码插入其中。试证明,若g=gcd(M,T)为M和T的最大公约数,则a)每个关键码均大约与g个关键码冲突;b)如不采取排解冲突的措施,散列表的利用率将约为1/g。
(1)k1的探查序列:___30___,________,________,________,
(2)k2的探查序列:___28___,________,________,________,
(3)k3的探查序列:________,________,________,________,
A、1
B、1.5
C、2
D、2.5
y为整数),这些函数能够当作散列函数吗(即对于插入和查找,散列程序能正常工作吗)?如果能够,它是一个好的散列函数吗?请说明理由。设函数random(m)返回一个0到m-1之间的随机整数(包括0与m-1在内)。
(1)Hash(key)==key/m;
(2)Hash(key)=1;
(3)IIash(key)==(key+random(m))%rn;
(4)Hash(key)=key%p(m);其中p(m)是不大于m的最大素数。
(1)散列表的大小应该是多少?
(2)如果散列函数采用除留余数法,写出散列两数的定义;
(3)若已有的8个记录分别为(58,87,38,95,49,75,64,47),依次将它们存放到表中;
(4)计算搜索成功的平均搜索长度和搜索不成功的平均搜索长度。
(1)在散列表中搜索具有指定关键码值的表项的函数。
(2)在散列表中删除具有指定关键码值的表项的函数。
(3)在散列表中插人具有指定关键码值的表项的函数,
(4)求搜索成功时的平均搜索长度的函数.
除留余数法构造哈希函数和线性探测法处理冲突,试求出每一元素在哈希表中的初始哈希地址和最终哈希地址,画出最后得到的哈希表,求出平均查找长度。
设α是散列表的装载因子,则应用线性探查法解决冲突时的搜索成功的平均搜索长度和搜索不成功的平均搜索长度分别为:
请根据题意选择合用的公式。
dr(61)=6、addr(84)=7.其余地址为空。如用二次探查法解决冲突,关键码值为49的散列地址是()。
A、8
B、3
C、5
D、9
A.0
B.79.5
C.70.5
D.84
A.27.27
B.40.07
C.45.08
D.30.68