设散列函数为H(k)=k mod7,一组关键码为23,14,9,6,30,12和18,散列表T的地址空间为0.6,用线性探测法解决冲突,依次将这组关键码插入T中,得到的散列表为( )A.B.C.D.

题目

设散列函数为H(k)=k mod7,一组关键码为23,14,9,6,30,12和18,散列表T的地址空间为0.6,用线性探测法解决冲突,依次将这组关键码插入T中,得到的散列表为( )

A.

B.

C.

D.

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

(11)设散列表的地址空间为 0到 10,散列函数为 h(k)=k mod 11,用线性探查法解决碰撞。现从空的散

列表开始,依次插入关键码值 36,95,14,27,68,82,则最后一个关键码插入后散列表的负载因子 a 约

为( )。

A)0.45

B)0.55

C)0.65

D)0.75


正确答案:B

(11)【答案】B)
【解析】线性探查法将散列表看成是一个环行表,若在基地址d(即h(K)=d)发生冲突,则依次探查下述地址单元:d+1,d+2,…,M-0,0,1…,d-1直到找到一个空闲地址或岔道找到关键码为key的结点为止。题中三列表长度M=11,n=6,散列函数为h(k)=k mod11。在本题中,按顺序插入各个结点。36:h(36)=3。95:h(95)=7。插入14时,其散列地址为3,由于3已被关键码为36的元素占用,故需进行探查。显然4为开放空闲地址,故可将其放在4单元。27:h(27)=5。68:h(68)=2.插入82时,其散列地址为5,由于5已被关键码为27的元素占用,故需进行探查,按顺序探查法,显然6为开放的空闲地址,故可将其放在6单元。负载因子a=N/M.其中M是散列表存储空间大小,N表中当前的记录数目。故a=0.55.

第2题:

设有两个散列函数H1(k)=kmod 13和H2(k)=kmod 11+1,散列表为T[0…12],用二次散列法解决冲突。函数H1用来计算散列地址,当发生冲突时,H2作为计算下一个探测地址的地址增量。假定某一时刻散列表的状态为:

下一个被插入的关键码为42,其插入位置应是( )。

A.0

B.1

C.3

D.4


正确答案:A

第3题:

(9)设散列表的地址空间为 0 到 16,散列函数为 h(k)= k mod 17,用线性探查法解决碰撞。现从空的

散列表开始,依次插入关键码值 190,89,217,208,75,177,则最后一个关键码 177 的地址为

A)6

B)7

C)8

D)9


正确答案:C


(9)【答案】C)
【解析】根据散列表地址空间与函数,190 MOD  17=3。所以关键码 190 存储地址为 3;89MOD 17=4。所以关键码 89 存储地址为 4;217 MOD 17=13,所以关键码 217 存储地址为 13;208 MOD 17=4,由于关键码 89 已经存储在地址 4,所以关键码 208 存储地址向后移一位,存储地址为 5;75 MOD 17=7。所以关键码 75 存储地址为 7;177 MOD 17=7,由于关键码75已经存储在地址7。所以关键码177存储地址向后移一位,存储地址为8。

 

第4题:

设有两个散列函数H1(K)=K mod 13和H2(K)=K mod 11+1,散列表为T[0…12],用二次散列法解决冲突。函数H1用来计算散列地址,当发生冲突时,H2作为计算下一个探测地址的地址增量。假定某一时刻散列表的状态为:下一个被插入的关键码为42,其插入位置应是

A.0

B.1

C.3

D.4


正确答案:A

第5题:

( 4 )设散列表的地址空间为 0 到 12 ,散列函数为 h ( k ) =k mod 13, 用线性探查法解决碰撞。现从空的教列表开始,依次插入关键码值 14, 95, 24, 61 , 27, 82, 69, 则最后一个关键码 69 的地址为【 4 】。


正确答案:

第6题:

(4)设散列表的地址空间为0到18,散列函数为h(k)=k mod 19,用线性控查法解决碰撞。现从空的散列表开始,依次插入关键码值190,89,217,75,则最后一个关键码33的地址为___________。


正确答案:

(4)【答案】1
【解析】线性探测法,就是在发生冲突时,从H(K) 以后的位置逐一探测,直至找到一个空位置,将新记录插入,在检索时,如果H(K)中不是所城关键值的记录,也是从H(K)往下逐一搜索,直至找到所需关键值或查找失败为止。应注意查找次序是:H(K),H(K)+1.H(K) +2,…n-1,c,1,2,…,H(K)-1,插入关键码值190,地址为0;插入关键典雅值89,地址 为13;插入关键码值217,地址为8,插入关键码值208,地址为18,插入关键码值75,产生冲突,用线性探查解决冲突后财址为1。

第7题:

假定用散列函数H1=k mod 13计算散列地址,当发生冲突时,用散列函数 H2=k mod ll+l来计算下一个探测地址的地址增量。设散列表的地址空间为0~12,在地址2、3、8中,散列表相应的内容为80,85,34。下一个被插入的关键码是42,其插入的位置是【 】。


正确答案:×
0 解析:H1=42 mod 13=3,地址3中已分配给85,所以计算H2,H2=42 mod 11+1= 10,这是地址增量。下一个探测地址应为3+10=13,13 mod 13=0,0地址为空,故42可插入在该地址中。

第8题:

( 14 )设散列表的地址空间为 0 到 10 ,散列函数为 h ( k ) =k mod 11 ,用线性探查法解决碰撞。现从空的散列表开始,依次插入关键码值 95 , 14 , 27 , 68 , 82 ,则最后一个关键码 82 的地址为

A ) 4

B ) 5

C ) 6

D ) 7


正确答案:C

第9题:

设散列函数为H(k)=k mod 7,现欲将关键码23,14,9,6,30,12,18依次散列于地址 0~6中,用线性探测法解决冲突,则在地址空间0~6中,得到的散列表是

A.14,6,23,9,18,30,12

B.14,18,23,9,30,12,6

C.14,12,9,23,30,18,6

D.6,23,30,14,18,12,9


正确答案:B
解析:将23,14,9,6,30,12,18依次按散列函数K(k)=k mod 7计算,并按线性探测法解决冲突,得到的散列结果是14,18,23,9,30,12,6。

第10题:

设散列函数为h(k)=kmod7,现欲将关键码23,14,9,6,30,12,18依次散列于地址0~6中,用线性探测法解决冲突,则在地址空间0~6中,得到的散列表是( )。

A)14,6,23,9,18,30,12

B)14,l8,23,9,30,12,6

C)14,12,9,23,30,18,6

D)6,23,30,14,18,12,9


正确答案:B
待插入的各关键码的散列地址分别为2, 0,2,6,2,5,4。存储前2个时无冲突,当存关键码9时与23冲突,此时后移一位存储地址到3,存储6时无冲突,存储30与23、9关键码冲突了,后移两位到4,依次类推,可知B)选项是正确的。

更多相关问题