设散列函数为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.


相似考题
参考答案和解析
正确答案:B
更多“ 设散列函数为H(k)=k mod7,一组关键码为23,14,9,6,30,12和18,散列表T的地址空间为0.6,用线性探测法解决冲突,依次将这组关键码插入T中,得到的散列表为( )A.B.C.D. ”相关问题
  • 第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题:

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


    正确答案:

  • 第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题:

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

  • 第5题:

    设散列函数为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。

  • 第6题:

    设散列函数为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 mod 7=2,排在第3位。6 mod 7=6,排在最后一位

  • 第7题:

    设散列函数为H(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)=kmod7计算,并按线性探测法解决冲突,得到的散列结果是14,18,23,9,30,12,6。

  • 第8题:

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

    散列函数为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次。

  • 第9题:

    设散列表的地址空间为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。

  • 第10题:

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


    正确答案:1

  • 第11题:

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


    正确答案:6

  • 第12题:

    单选题
    设散列表的地址空间为0到10,散列函数为h(k)=kmod11,用线性探查法解决碰撞。现从空的散列表开始,依次插入关键码值36,95,14,27,68,82,则最后一个关键码插入后散列表的负载因子a约为()。
    A

    0.45

    B

    0.55

    C

    0.65

    D

    0.75


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

  • 第13题:

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

  • 第14题:

    设散列函数为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。

  • 第15题:

    设散列函数为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)选项是正确的。

  • 第16题:

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

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


    正确答案:

  • 第17题:

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

  • 第18题:

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


    正确答案:6
    6 解析:将序列mod 13,则14mod13=1,95modl3=4.24mod13=11,61mod13=9,27rood13=1,82mod13=4.69mod13=4。将它们放入地址中,则14放入1,95放入4,24放入11,61放入9,27放入2,82放入5,69放入6。

  • 第19题:

    设有一个用线性探测法解决冲突得到的散列表,该表共有0~10个地址单元,其中地址单元2~8中的内容依次为13,25,80,16,17,6,14。散列函数为: H(k)=k mod 11 若要查找元素14,探测(比较)的次数是( )。

    A.8

    B.9

    C.3

    D.6


    正确答案:D
    解析:由散列函数为:H(k)=k mod11可计算出13,25,80,16,17,6, 14的散列地址依次为2、3、3、5、6、6、3,在存储14时,2、3、4、5、6、7连续6个单元已经被占用,如表13-17所示。而14的散列地址为3,因此在查找时需从地址为3的位置开始比较,一直到14存储的地址8(包括8),共比较了6次。

  • 第20题:

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

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

    A)7

    B)9

    C)3

    D)6


    正确答案:C

  • 第21题:

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

    • A、8
    • B、9
    • C、10
    • D、11

    正确答案:D

  • 第22题:

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

    • A、6
    • B、7
    • C、8
    • D、9

    正确答案:C

  • 第23题:

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

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