设有两个散列函数H1(K)=K mod 13和H2(K)=K mod 11+1,散列表为了[0...12],用双重散列法(又称二次
设有两个散列函数H1(K)=K mod 13和H2(K)=K mod 11+1,散列表为了[0...12],用双重散列法(又称二次散列法)解决冲突。函数H1用来计算散列地址,当发生冲突时,H2作为计算下一个探测地址的地址增量。假定某一时刻散列表T的状态为:下一个被插入的关键码为42,其插入位置是【 】。
设有两个散列函数H1(K)=K mod 13和H2(K)=K mod 11+1,散列表为了[0...12],用双重散列法(又称二次散列法)解决冲突。函数H1用来计算散列地址,当发生冲突时,H2作为计算下一个探测地址的地址增量。假定某一时刻散列表T的状态为:下一个被插入的关键码为42,其插入位置是【 】。
已知一个待散列存储的线性表18,34,58,26,75,67,48,81,散列函数为H(k)=k mod 11,若采用线性探测法解决冲突,则平均查找长度为______。若采用链接法解决冲突,则平均查找长度为______。
A.8
B.9
C.10
D.11
设散列表的长度为13,散列函数为H(K)=K%13,给定的关键字序列为19,14,23,1,68,20,84,27,55,11,10,79。试画出分别用链地址法和线性探测法解决冲突时所构造的散列表,并求等概率下这两种方法的成功和不成功的平均查找长度。
设有上三角矩阵(aij)n×n,将其上三角中的元素按先行后列的顺序存于数组B[m]中,使得B[k]=aij且k=f1(i)+f2(j)+C,请推导出函数f1、f2和常数C,要求f1和f2中不含常数项。
设有如下函数定义 intfun(intk) { if(k<1)return0: elseif(k=1)return1; elsereturnfun(k-1)+1; } 若执行调用语句:n=fun(3);则函数fun总共被调用的次数是
A.2
B.4
C.3
D.5
设有上三角矩阵(aij)n×n,将其上三角元素逐行存于数组B(1:m)中(m充分大),使得B[k]=aij,且k=fi(i)+f2(j)+c。试推导出函数f1,f2和常数c(要求f1和f2中不含常数项)。