散列表的地址区间为0-17,散列函数为H(K)=Kmod17。采用线性探测法处理冲突,并将关键字序列26,25,72,3

题目
单选题
散列表的地址区间为0-17,散列函数为H(K)=Kmod17。采用线性探测法处理冲突,并将关键字序列26,25,72,38,8,18,59依次存储到散列表中。则元素59存放在散列表中的地址是()
A

9

B

11

C

10

D

8

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

第1题:

分别写出在散列表中插入和删除关键字为K的一个记录的算法,设散列函数为H,解决冲突的方法为链地址法。


参考答案:
  [算法描述]
  bool insert(){
  int data;
  cin>>data;
  int ant=hash(data);
  LinkList p=HT[ant]; //初始化散列表
  while (p->next){
  if(p->next->data==data)
  return false;
  p=p->next;
  } //找到插入位置
  LinkList s;
  s=new LNode;
  s->data=data;
  s->next=p->next;
  p->next=s; //插入该结点
  return true;
  }
  bool deletes(){
  int data;
  cin>>data;
  int ant=hash(data);
  LinkList p=HT[ant]; //初始化散列表
  while (p->next){
  if(p->next->data==data){
  LinkList s=p->next;
  p->next=s->next;
  delete s; //删除该结点
  return true;
  } //找到删除位置
  p=p->next; //遍历下一个结点
  }
  return false;
  }

第2题:

下列问题是基于下列描述:散列表的地址区间为0~17,散列函数为H(K)=Kmod 17采用线性探测法处理冲突,并将关键字序列26、25、72、38、8、18、59依次存储到散列表中。

元素59存放在散列表中的地址是( )。

A.8

B.9

C.10

D.11


正确答案:D
解析:各元素的散列地址分别为9,8,4,4,8,1,8。在存放8这个元素时,由于这个存储位置已存放了25,根据处理冲突的方法——线性探测法,需后退一个位置到9,但9这个位置也已存放了26这个元素,所以还需移至10,10这个位置是空的,所以8就存放在10。对59,它的散列地址为8,需按上述方法依次经过8,9,10,最后到达11。

第3题:

设有两个散列函数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

第4题:

设有一个用线性探测法解决冲突得到的散列表:

散列函数为H(k)=k mod 11若查找元素15,则探测的次数(比较的次数)为( )。

A)7

B)9

C)3

D)6


正确答案:C

第5题:

设有一个用线性探测法解决冲突得到的散列表:

散列函数为H(k)=k mod 11,若查找元素14,则探测的次数(比较的次数)为________。

A.8

B.9

C.3

D.6


正确答案:D
解析:根据散列函数H(k)=k mod 11,待查找元素14的哈希地址H(14)=3,但该地址已经存放了元素25,根据线性探测法,得第一次冲突处理后的地址H1=(3+1)mod 11=4,而该地址已经存放了元素80,则找第二次冲突处理后的地址H2=(3+2)mod 11=5,该地址已经存放了元素16,依次类推,直到第五次冲突处理后的地址 H5=8,该地址存放的是元素14,即查找成功,因此探测的次数为6次。

第6题:

设散列函数H(key)=key MOD 7,用线性探测再散列法解决冲突。对关键字序列{13,28,72,5,16,8,7,9,11,29}在地址空间为0-10的散列区中建散列表,画出此表,并求等概率情况下查找成功时的平均查找长度。


参考答案:

第7题:

设哈希函数h (k) =k mod 7,哈希表的地址空间为0~6,对关键字序列(32,13,49, 55,22,38,12)按线性探测法解决冲突,关键字12应存放在散列表中的地址是 【】 ,

查找关键字12需比较的次数为 【】


正确答案:

5         6


h(k)=k mod 7,所以地址为:12 mod 7=5. 分别于关键字进行比较,从而得出比较次数为6.

第8题:

已知一个线性表(38,25,74,63,52,48),假定采用散列函数h(key)=key%7计算散列地址,并散列存储在散列表A[0…6]中,若采用线性探测法解决冲突,则在该散列表上进行等概率成功查找的平均查找长度为(63)。

A.1.4

B.1.6

C.2.0

D.2.2


正确答案:C
解析:按照散列函数h(key)=key%7和线性探测方法解决冲突将线性表 (38,25,74,63,52,48)散列存储在散列表A[0…6]中如图3-15所示。

在该散列表上进行等概率成功查找的平均查找长度

第9题:

已知一个线性表(38,25,74,63,52,48),假定采用h(k)=k%6计算散列地址进行散列存储,若用线性探测的开放定址法处理冲突,则在该散列表上进行查找的平均查找长度为(44)。

A.1.5

B.1.7

C.2

D.2.3


正确答案:A
解析:用散列函数n(k)=k%6计算得到散列地址见表2。表2散列地址关键字散列地址用线性探测的开放定址法处理冲突所构造得到的散列表见表3。表3散列表该散查找次数列表的平均查找长度为(1×3+2×3)/6=1.5。

第10题:

设散列表长m=14,散列函数H(K)=K%11,已知表中已有4个结点:r(15)=4;r(38)=5;r(61)=6;r(84)=7,其他地址为空,如用二次探测再散列处理冲突,关键字为49的结点地址是_____。

A.8

B.3

C.5

D.9


正确答案:D

更多相关问题