给定一个长度为7的空散列表ht,采用双散列法解决冲突,两个散列函数分别为: h1(key)=key%7 h2(key)=key%5+1 请向散列表依次插入关键字为29,64,15的集合元素,插入完成后15在散列表中存储地址为_______。A.1B.2C.3D.4

题目

给定一个长度为7的空散列表ht,采用双散列法解决冲突,两个散列函数分别为: h1(key)=key%7 h2(key)=key%5+1 请向散列表依次插入关键字为29,64,15的集合元素,插入完成后15在散列表中存储地址为_______。

A.1

B.2

C.3

D.4


相似考题
更多“给定一个长度为7的空散列表ht,采用双散列法解决冲突,两个散列函数分别为: h1(key)=key%7 h2(key)=key%5+1 请向散列表依次插入关键字为29,64,15的集合元素,插入完成后15在散列表中存储地址为_______。”相关问题
  • 第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题:

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


    参考答案:

  • 第3题:

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

    A.

    B.

    C.

    D.


    正确答案:B

  • 第4题:

    ● 已知一个线性表(16, 25, 35, 43, 51, 62, 87, 93),采用散列函数H(Key)=Key mod 7将元素散列到表长为9的散列表中。若采用线性探测的开放定址法解决冲突(顺序地探查可用存储单元),则构造的哈希表为 (57) ,在该散列表上进行等概率成功查找的平均查找长度为 (58) (为确定记录在查找表中的位置,需和给定关键字值进行比较的次数的期望值称为查找算法在查找成功时的平均查找长度)。


    正确答案:C,A

  • 第5题:

    若线性表(23,14,45,12,8,19,7)采用散列法进行存储和查找。设散列函数为 H(Key)=Key mod 7并采用线性探查法(顺序地探查可用存储单元)解决冲突,则构造的散列表为(38),其中,mod表示整除取余运算。

    A.

    B.

    C.

    D.


    正确答案:A
    解析:本题考查哈希存储方法。
      对于关键字23、14、45、12、8、19,由哈希函数得到的哈希地址没有冲突,元素直接存入,如下所示。 
     
      对于元素7,其哈希地址为0,但是该地址中已经存入元素14,因此由H1=(Hash(12)+1) mod 7=1,再试探哈希地址1,但该地址已被元素8占用,发生冲突;再计算H2=(Hash(12)+2) mod 7=2,发生冲突(地址2被元素23占用);再计算H3=(Hash(12)+3)mod 7=3,发生冲突;再试探哈希地址4,空闲,因此将元素7存入哈希地址为4的单元,如下所示。

  • 第6题:

    有一个线性表(16,25,70,61,52,45),采用的散列函数为H(Key)=Keymod8,将元素散列到表长为8的哈希表中存储。若采用线性探测的开放定址法解决冲突,则在该散列表上进行等概率成功查找的平均查找长度为(88);若利用拉链法解决冲突,则在该散列表上进行等概率成功查找的平均查找长度为(89)。

    A.1.25

    B.1.33

    C.2

    D.2.3


    正确答案:B

  • 第7题:

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

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


    正确答案:C

  • 第8题:

    ●设线性表(59,53,46,48,37,31,25)采用散列(Hash)法进行存储和查找,散列函数为H(Key)=Key

    MOD 7(MOD表示整除取余运算)。若用链地址法解决冲突(即将相互冲突的元素存储在同一个单链

    表中)构造散列表,则散列表中与哈希地址 (37) 对应的单链表最长。

    (37)

    A.2

    B.3

    C.4

    D.6


    正确答案:C

  • 第9题:

    设哈希(散列)表表长为15(哈希地址为0~14),哈希函数为H(key)=key%11,冲突处理采用线性探测Hi=(H(key)+1)%11,则将一列数15,20,26,30,35,40存储该哈希表,元素40的哈希地址为()


    正确答案:7

  • 第10题:

    若采用链地址法构造散列表,散列函数为H(key)=key MOD 17,则需()个链表。

    • A、17
    • B、13
    • C、16
    • D、任意

    正确答案:A

  • 第11题:

    问答题
    设关键字序列为(71,12,88,53,11,25,65,27,16),散列函数为H(key)= key % 7,采用链地址法解决冲突。请回答:查找关键字88时,需要依次与哪些关键字比较。

    正确答案: 查找关键字88时,分别与25,11,53,88比较。
    解析: 暂无解析

  • 第12题:

    填空题
    设哈希(散列)表表长为15(哈希地址为0~14),哈希函数为H(key)=key%11,冲突处理采用线性探测Hi=(H(key)+1)%11,则将一列数15,20,26,30,35,40存储该哈希表,元素40的哈希地址为()

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

  • 第13题:

    已知一个线性表(38,25,74,63,52,48),采用的散列函数为H(Key)=Key mod 7,将元素散列到表长为7的哈希表中存储。若采用线性探测的开放定址法解决冲突,则在该散列表上进行等概率成功查找的平均查找长度为(41);若利用拉链法解决冲突,则在该散列表上进行等概率成功查找的平均查找长度为(42)。

    A.1.5

    B.1.8

    C.2

    D.2.3


    正确答案:C
    解析:根据题意,使用线性探测的开放定址法,各数的位置分别是(0,63),(1,48),(3,38),(4,25),(5,74),(6,52)。平均查找长度为(1+3+1+1+2+4)/6=2.0;使用拉链法,0和6地址下有一个节点,3和4地址下有两个节点,即平均查找长度为(1+1+1+1+2+2)/6=4/3。

  • 第14题:

    已知散列表的存储空间为T[0…18],散列函数H(key)=key%17,并用二次探测法处理冲突。散列表中已插入下列关键字:T[5]=39,T[6]=57和T[7]=7,则下一个关键字23插入的位置是 ( )

    A.T[2]

    B.T[4]

    C.T[8]

    D.T[10]


    正确答案:D
    解析:由题意可得H(23)=6,而T[6]中已有关键字,产生冲突,此时采用二次探测法,则当i=1时,h1=(6+1×1)%17=7,又T[7]中也已有关键字仍然冲突。则选i=2,此时h2=(6+2×2)%17=10,此时可判定此关键字可插入T[10]单元中。

  • 第15题:

    设线性表(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.

  • 第16题:

    ● 若线性表(23, 14, 45, 12, 8, 19, 7)采用散列法进行存储和查找。设散列函数为H(Key)=Key mod 7并采用线性探查法(顺序地探查可用存储单元)解决冲突,则构造的散列表为 (38) ,其中,mod表示整除取余运算。


    正确答案:A

  • 第17题:

    设散列表的存储空间大小为19,所用散列函数为h(key)=key mod 19,用开放地址线性探查法解决碰撞。散列表的当前状态如下: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 190 194 768 559 582 93 208 现要将关键码值75插入到该散列表中,其地址应为______。

    A.1

    B.11

    C.5

    D.15


    正确答案:A

  • 第18题:

    已知一个线性表(16,25,35,43,51,62,87,93),采用散列函数H(Key)=Key mod 7将元素散列到表长为9的散列表中。若采用线性探测的开放定址法解决冲突(顺序地探查可用存储单元),则在所构造的哈希散列表上进行等概率成功查找的平均查找长度为(60)(为确定记录在查找表中的位置,需和给定关键字值进行比较的次数的期望值,称为查找算法在查找成功时的平均查找长度)。

    A.(8×1)/8

    B.(8×1)/9

    C.(5×1+2+3+6)/8

    D.(5×1+2+3+6)/9


    正确答案:C
    解析:本题考查数据结构中哈希表的基础知识。线性探测法解决冲突的方法是:若在地址r处发生冲突,则探测地址 r+1,若已到达表尾,则再从表头出发进行探测。若是插入元素,则找到一个空闲单元为止。若表已满则采用其他策略解决冲突;若是访问元素,则找到元素或一个空闲单元为止。
      初始哈希表为空,根据序列(16,25,35,43,51,62,87,93)和哈希函数H(Key)=Key mod 7构造哈希表的过程如下。
      ①16 mod 7=2  25 mod 7=4  35 mod 7=0  43 mod 7=1,地址2、4、0、1空闲,所以插入对应元素。
      ②51 mod 7=2,地址2处冲突,因此探测地址3,该单元空闲,因此51存入地址3。由于62 mod 7=6,地址6处空闲,所以将62插入地址6。
      ③87 mod 7=3,地址3处冲突,因此依次探查地址4、5,地址5空闲,因此87存入地址5;93 mod 7=2,地址2处冲突,因此依次探查地址3、4、5、6、7,地址7空闲,因此93存入地址7。
      为确定记录在查找表中的位置,需和给定关键字值进行比较的次数的期望值称为查找算法在查找成功时的平均查找长度。对于含有n个记录的表,查找成功时的平均查找长度定义为:,其中,Pi为对表中第i个记录进行查找的概率,且,一般情况下,均认为查找每个记录的概率是相等的,即 Pi=1/n。Ci为找到表中其关键字与给定值相等的记录时(为第i个记录),和给定值已进行过比较的关键字个数。对于本试题所构造的哈希表,平均查找长度ASL=(1+1+1+1+2+1+3+6)/8=2。

  • 第19题:

    若关键码序列(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号单元。

  • 第20题:

    ●若采用链地址法对关键字序列(74,10,23,6,45,38,18)构造哈希表(或散列表),设散列函数为H(Key)=Key % 7(%表示整除取余运算),则哈希表中地址为(42)的单链表长度为0(即没有关键字被映射到这些哈希地址)。

    (42) A. 0、1和2

    B.1、2和3

    C.1、3和5

    D.0、1和5


    正确答案:D

  • 第21题:

    设关键字序列为(71,12,88,53,11,25,65,27,16),散列函数为H(key)= key % 7,采用链地址法解决冲突。请回答:查找关键字88时,需要依次与哪些关键字比较。


    正确答案:查找关键字88时,分别与25,11,53,88比较。

  • 第22题:

    设关键字序列为(71,12,88,53,11,25,65,27,16),散列函数为H(key)= key % 7,采用链地址法解决冲突。请回答:请求等概率下查找成功的平均查找长度ASL


    正确答案:ASL成功=(1*5+2*2+3*1+4*1)=16/9

  • 第23题:

    单选题
    若采用链地址法构造散列表,散列函数为H(key)=key MOD 17,则需()个链表。
    A

    17

    B

    13

    C

    16

    D

    任意


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

  • 第24题:

    问答题
    设关键字序列为(71,12,88,53,11,25,65,27,16),散列函数为H(key)= key % 7,采用链地址法解决冲突。请回答:请求等概率下查找成功的平均查找长度ASL

    正确答案: ASL成功=(1*5+2*2+3*1+4*1)=16/9
    解析: 暂无解析