设散列表的长度为13,散列函数为H(K)=K%13,给定的关键字序列为19,14,23,1,68,20,84,27,55,11,10,79。试画出分
设散列表的长度为13,散列函数为H(K)=K%13,给定的关键字序列为19,14,23,1,68,20,84,27,55,11,10,79。试画出分别用链地址法和线性探测法解决冲突时所构造的散列表,并求等概率下这两种方法的成功和不成功的平均查找长度。
设散列表的长度为13,散列函数为H(K)=K%13,给定的关键字序列为19,14,23,1,68,20,84,27,55,11,10,79。试画出分别用链地址法和线性探测法解决冲突时所构造的散列表,并求等概率下这两种方法的成功和不成功的平均查找长度。
20,03,78,31,15,36建立表。
(1)采用线性探查法寻找下一个空位,画出机应的散列表,并计算等概率下搜索成功的平均搜索长度和搜索不成功的平均搜索长度。
(2)采用双散列法寻找下一个空位,再散列函数为RH(key)=(7×key)%10+1,寻找下一个空位的公式为Hi=(Hi-1+RH(key))%13,H1=H(key)。画出相应的散列表,并计算等概率下搜索成功的平均搜索长度。
设有一散列表如下图所示:
设该散列表采用双散列函数法解决碰撞,其两个散列函数为H1(K)=K mod 13,H2(K)=(K mod 11)+1。从该散列表中检索出35需几次比较?请写出比较顺序。
假定把关键码k散列到有n个结点(从0到n-1编号)的散列表中。对于下面的每一个函数h(k)(七为整数),这个函数作为散列函数可以接受吗?(即对于插入和检索,散列程序能正常工作吗?)如果可以,它是一个好的散列函数吗?设函数Random(n)返回一个0到n-1之间的随机整数(包含这两个数在内)。 (1)h(k)=k/n; (2)h(k)=1; (3)h(k)=(k+random(n))mod n; (4)h(k)=k mod m,其中m是一个小于等于n的最大素数。
71,28,46,14,2,20,85,58)构造哈希表,要求画出哈希表存储结构示意图,并求等概率下查找成功时的平均查找长度。
设有两个散列函数H1(K)=K mod 13和H2(K)=K mod 11+1,散列表为了[0...12],用双重散列法(又称二次散列法)解决冲突。函数H1用来计算散列地址,当发生冲突时,H2作为计算下一个探测地址的地址增量。假定某一时刻散列表T的状态为:下一个被插入的关键码为42,其插入位置是【 】。
在地址空间为0~16的散列区中,对以下关键字序列构造两个散列表:
1)用线性探测开放定址法处理冲突;
2)用链地址法处理冲突。
并分别求这两个散列表在等概率情况下查找成功和不成功的平均查找长度。设散列函数为H(key)=i/2,其中i为关键字中第一个字母在字母表中的序号。
A.1
B.2
C.3
D.4
【题目描述】
● 若线性表(24, 13, 31, 6, 15, 18, 8)采用散列(Hash)法进行存储和查找,设散列函数为H(Key)=Key mod 11,则构造散列表时发生冲突的元素为 (1) 。(其中的mod表示整除取余运算)
(1)
A. 24和13
B. 6 和15
C. 6 和24
D. 18和8
【我提交的答案】: B |
【参考答案与解析】: 正确答案:A |
【我的疑问】(如下,请求专家帮助解答)
求详解
已知一个待散列存储的线性表18,34,58,26,75,67,48,81,散列函数为H(k)=k mod 11,若采用线性探测法解决冲突,则平均查找长度为______。若采用链接法解决冲突,则平均查找长度为______。
已知一个线性表为(38,25,74,63,52,48),假定采用H(K)=K mod 7计算散列地址进行散列存储,若利用线性探测的开放定址法处理冲突,则在该散列表上进行查找的平均查找长度为();若利用链地址法处理冲突,则在该散列上进行查找的平均查找长度为()。
A.1.5,1
B.1.7,3/2
C.2,4/3
D.2.3,7/6