对于关键码序列(54,34,5,14,50,36,47,83),用链地址法(或拉链法)解决冲突构造散列表(即将冲突的元素存储在同一个单链表中,单链表的头指针存入散列地址对应的单元),设散列函数为H(Key)=Key MOD 7(MOD表示整除取余运算),则构造散列表时冲突次数最多的哈希单元的地址是( )。A.0 B.1 C.5 D.6

题目

对于关键码序列(54,34,5,14,50,36,47,83),用链地址法(或拉链法)解决冲突构造散列表(即将冲突的元素存储在同一个单链表中,单链表的头指针存入散列地址对应的单元),设散列函数为H(Key)=Key MOD 7(MOD表示整除取余运算),则构造散列表时冲突次数最多的哈希单元的地址是( )。

A.0 B.1 C.5 D.6


相似考题
更多“对于关键码序列(54,34,5,14,50,36,47,83),用链地址法(或拉链法)解决冲突构造散列表(即将冲突的元 ”相关问题
  • 第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题:

    用链地址法处理冲突构造的散列表中,每个地址单元所链接的同义词表中结点的()相同。

    A.关键字

    B.元素值

    C.散列地址

    D.含义


    参考答案:C

  • 第3题:

    设线性表(59,53,46,48,37,31,25)采用散列(Hash)法进行存储和查找,散列函数为H(Key)=Key MOD 7(MOD表示整除取余运算)。若用链地址法解决冲突(即将相互冲突的元素存储在同一个单链表中)构造散列表,则散列表中与哈希地址 (38) 对应的单链表最长。

    A.2

    B.3

    C.4

    D.6


    正确答案:C
    53,48,25对应的地址都为4.

  • 第4题:

    若关键码序列(23,35,14,49,8,12,30,7)采用散列法进行存储和查找。设散列函数为H(Key)=Key%11,采用线性探查法(顺序地探查可用存储单元)解决冲突,尚未构造完成的散列表如下所示,则元素12应存入哈希地址单位()

    A.0

    B.4

    C.11

    D.12


    正确答案:B
    本题考查数据结构基础知识。根据构造哈希表的方式,先由哈希函数计算12在哈希表中的存储位置为1(12%11),此时因1号单元被23占用而发生冲突,线性探查法解决冲突的方式是顺序地探查2号单元,仍然冲突,再探查3号单元,继续冲突,再探查4号单元,不再冲突,从而在经过4次探查后把12存入空闲的4号单元。

  • 第5题:

    对于给定的关键字序列{47,34,13,12,52,38,33,27,5},若用链地址法(拉链法)解决冲突来构造哈希表,且哈希函数为H(key)=key%11,则( )。

    A.哈希地址为1的链表最长
    B.哈希地址6的链表最长
    C.34和12在同一个链表中
    D.13和33在同一个链表中

    答案:C
    解析:
    根据题中给出的散列函数,构造哈希函数地址如下:H(47)=47%11=3 ,H(34)=34%11=1 ,H(13)=13%11=2, H(12)=12%11=1 ,H(52)=52%11=8,H(38)=38%11=5, H(33)=33%11=0, H(27)=27%11=5 ,H(5)=5%11=5。根据表的结构特点选择C。

  • 第6题:

    对于关键字序列(10, 34, 37, 51, 14, 25,56, 22, 3), 用线性探查法解决冲突构造哈希表,哈希函数为H(key)=key%11,关键字25存入的哈希地址编号为( )。

    A.2
    B.3
    C.5
    D.6

    答案:C
    解析:
    H(10)=10%11=10,H(34)=34%11=1,H(37)=37%11=4,H(51)=51%11=7,H(14)=14%11=3,H(25)=25%11=3,由于该空间已经被占用,依次向后进行探测,选择5号地址空间,H(56)=56%11= 1,由于该空间已经被占用,依次向后进行探测,选择2号地址空间,H(22)=22%11=0,,H(3)=3%11=3,由于该空间已经被占用,依次向后进行探测,选择6号地址空间。

  • 第7题:

    设散列函数为 H(key)key%11对于关键碍序列(23,40,91,17,19,10,31,65,26),用线件探杳法解决冲突构造的哈希表为( )



    答案:B
    解析:
    本题主要考查的是哈希表的线性探测法。首先根据关键码序列,分别求取H(Key)=key%11。得到如下所示关键字散列值:

  • 第8题:

    采用拉链法解决冲突的散列表中,查找的平均查找长度()

    • A、直接与关键字个数有关
    • B、直接与装填因子a有关
    • C、直接与表的容量有关
    • D、直接与散列函数有关

    正确答案:D

  • 第9题:

    下面关于哈希查找的说法,不正确的是()。

    • A、采用链地址法处理冲突时,查找一个元素的时间是相同的
    • B、采用链地址法处理冲突时,若插入规定总是在链首,则插入任一个元素的时间是相同的
    • C、用链地址法处理冲突,不会引起二次聚集现象
    • D、用链地址法处理冲突,适合表长不确定的情况

    正确答案:A

  • 第10题:

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


    正确答案:6

  • 第11题:

    多选题
    查找哈希(Hash)表,解决冲突的的方法有()
    A

    除留余数法

    B

    线性探测再散列法

    C

    直接地址法

    D

    链地址法


    正确答案: D,A
    解析: 暂无解析

  • 第12题:

    多选题
    在构造哈希表的过程中,不可避免地会出现冲突,通常解决它的方法有()
    A

    平方取中法

    B

    开放地址法

    C

    随机探查法

    D

    再哈希法

    E

    拉链分散法(链地址法)


    正确答案: B,A
    解析: 暂无解析

  • 第13题:

    下面关于哈希查找的说法,不正确的是()。

    A.采用链地址法处理冲突时,查找一个元素的时间是相同的

    B.采用链地址法处理冲突时,若插入规定总是在链首,则插入任一个元素的时间是相同的

    C.用链地址法处理冲突,不会引起二次聚集现象

    D.用链地址法处理冲突,适合表长不确定的情况


    参考答案:A
    解释:在同义词构成的单链表中,查找该单链表表中不同元素,所消耗的时间不同。

  • 第14题:

    对关键码序列(12,24,15,56,20,87,69,9)采用散列法进行存储和查找,并设散列函数为H(Key)=Key%11(%表示整除取余运算)。采用线性探查法(顺序地探查可用存储单元)解决冲突所构造的散列表为()。

    A.

    B.

    C.

    D.


    正确答案:B

  • 第15题:

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

    A.4

    B.5

    C.6

    D.7


    正确答案:C
    解析:本题是对散列表存储问题的考查。散列表的基本思想是:由结点的关键码值决定结点的存储地址,即以关键码值k为自变量,通过一定的函数关系h(称为散列函数),计算出对应的函数值h(k)来,把这个值解释为结点的存储地址,将结点存入该地址中。在散列表中,不同的关键码值可能对应到同一存储地址,这种现象叫碰撞,处理碰撞基本有两种方法:拉链法和线性探索法。在本题中,所采用的散列函数为h(k)=kmod11,用线性探查法解决碰撞。计算顺序如下:①h(95)=95modll=7,存在地址为7的位置;②h(14)=14modll=3,存在地址为3的位置;③h(27)=27modll=5,存在地址为5的位置;④h(68)=68modll=2,存在地址为2的位置;⑤h(82)=82modll=5,与关键码为27的存储位置发生碰撞,采用线性探索的方法解决,即将82存在5以后的首个开放位置,在本题中即为6,所以82存在地址为6的位置。因此本题正确答案为选项C。

  • 第16题:

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

    A.

    B.

    C.

    D.


    正确答案:B

  • 第17题:

    若关键码序列(47,61,55,39,10,26,90,82)采用散列法进行存储和查找。设散列函数为H(Key)=Key mod 11(mod表示整除取余运算),拟采用链地址法(拉链法)解决冲突构造散列表。以下关于该散列表的叙述中,正确的是( )。

    A.关键码10和90位于同一个链中
    B.关键码61和82位于同一个链中
    C.关键码61和39位于同一个链中
    D.关键码47、55和39位于同一个链中

    答案:C
    解析:
    散列函数为H(Key)=KeyMOD11(MOD表示整除取余运算),因此只需要对线性表类数据分别与11进行取余运算。分别将关键码序列和11进行取余运算,得到{3,6,0,6,10,4,2,5},可以看出关键码61和39的值是相同的,因此其位于同一个链中。

  • 第18题:

    设有一个含200个表项的散列表,用线性探查法解决冲突,按关键码查询时找到一个表项的平均探查次数不超过1.5,则散列表项应能够至少容纳()个表项。

    A.400
    B.526
    C.624
    D.676

    答案:A
    解析:
    采用线性探查法解决冲突查找成功时的平均查找长度S≈0.5×(1+1/(1-a)),其中a是哈希表的装填因子,定义为a=表中装入的记录数,哈希表的长度。若要求查询成功的平均查找次数不超过1.5,即S≤1.5,而且哈希表中装入的记录数为200,故哈希表长度不小于400。

  • 第19题:

    在散列法中采取开散列(链地址)法来解决冲突时,其装载因子的取值一定在(0,1)之间。


    正确答案:错误

  • 第20题:

    查找哈希(Hash)表,解决冲突的的方法有()

    • A、除留余数法
    • B、线性探测再散列法
    • C、直接地址法
    • D、链地址法

    正确答案:B,D

  • 第21题:

    在构造哈希表的过程中,不可避免地会出现冲突,通常解决它的方法有()

    • A、平方取中法
    • B、开放地址法
    • C、随机探查法
    • D、再哈希法
    • E、拉链分散法(链地址法)

    正确答案:B,C,D,E

  • 第22题:

    判断题
    在散列法中采取开散列(链地址)法来解决冲突时,其装载因子的取值一定在(0,1)之间。(  )
    A

    B


    正确答案:
    解析:

  • 第23题:

    单选题
    关于杂凑查找说法不正确的有几个()。 (1)采用链地址法解决冲突时,查找一个元素的时间是相同的 (2)采用链地址法解决冲突时,若插入规定总是在链首,则插入任一个元素的时间是相同的 (3)用链地址法解决冲突易引起聚集现象 (4)再哈希法不易产生聚集
    A

    1

    B

    2

    C

    3

    D

    4


    正确答案: B
    解析: 暂无解析