CMS专题

填空题若散列函数为H(k),a和b为两个不同的关键字值,则当出现()时,称此现象为散列冲突。

题目
填空题
若散列函数为H(k),a和b为两个不同的关键字值,则当出现()时,称此现象为散列冲突。
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

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

A.0

B.1

C.3

D.4


正确答案:A

第2题:

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

第3题:

●散列文件使用散列函数将记录的关键字值计算转化为记录的存放地址。因为散列函数不是一对一的关系,所以选择好的 (35) 方法是散列文件的关键。

(35) A.散列函数

B.除余法中的质数

C.冲突处理

D.散列函数和冲突处理


正确答案:D
【解析】在散列法中,选择好的散列函数和冲突处理方法是其关键。

第4题:

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

下一个被插入的关键码是41,其插入的位置是。


正确答案:

第5题:

分别写出在散列表中插入和删除关键字为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;
  }

第6题:

假定用散列函数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可插入在该地址中。

第7题:

散列文件使用散列函数将记录的关键字值计算转化为记录的存放地址,因为散列函数是一对一的关系,则选择好的( )方法是散列文件的关键。

A、散列函数

B、除余法中的质数

C、冲突处理

D、散列函数和冲突处理


正确答案:D

第8题:

●设散列地址空间为0…m-1,k为关键字,假定散列函数为h(k)=k%p,为了减少冲突,一般应取p为 (50) 。

(50) A.小于m的最大奇数

B.小于m的最大素数

C.小于m的最大偶数

D.小于m的最大合数


正确答案:B
【解析】此题是考查数据结构中的Hash查找算法。根据每个选项所选的值进行计算如果得到的不同散列值越多则冲突可能性越小,根据结果特征应该B为最佳。

第9题:

对于关键字序列()进行散列存储时,若选用H()=K%7作为散列函数,则散列地址为0的元素有()个。

A、1

B、2

C、3

D、4


参考答案:D

第10题:

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

下一个被插入的关键码是42,其插入的位置是【 】。


正确答案:×
0 解析:根据H1,42的插入位置应该是42 mod 13,即3,但位置3有冲突,用H2探测地址增量:42 mod 11+ 1=10,所以其插入位置应该是3+10=13,很显然T的最大位置是12,所以其插入位置为0。

更多相关问题