散列表是一种重要的存储方式,在散列表里可快速进行检索。(1)散列表的基本思想是什么?(2)常用的散列函数有哪些,请举例说明(至少三个)。(3)怎样用拉链法和开地址法处理碰撞?

题目

散列表是一种重要的存储方式,在散列表里可快速进行检索。

(1)散列表的基本思想是什么?

(2)常用的散列函数有哪些,请举例说明(至少三个)。

(3)怎样用拉链法和开地址法处理碰撞?


相似考题
更多“散列表是一种重要的存储方式,在散列表里可快速进行检索。(1)散列表的基本思想是什么?(2)常用的散列函数有哪些,请举例说明(至少三个)。(3)怎样用拉链法和开地址法处理碰撞?”相关问题
  • 第1题:

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

  • 第2题:

    散列法存储中处理碰撞的方法主要有两类,开地址法和【】。


    正确答案:拉链法
    散列存储两类处理碰撞的方法是开地址法和拉链法。

  • 第3题:

    散列法存储中处理碰撞的方法主要有两类:拉链法和 【】


    正确答案:开地址法
    散列法存储中处理碰撞的方法主要有两类:拉链法和开地址法

  • 第4题:

    设散列表的存储空间大小为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

  • 第5题:

    (13)下列关于散列表的叙述中,哪一条是不正确的?

    A)散列法的基本思想是:由结点的关键码值决定结点的存储地址

    B)好的散列函数的标准是能将关键码值均匀地分布在整个地址空间中

    C)在散列法中,处理碰撞的方法基本有两类:拉链法和除余法

    D) 散列表的平均检索长度随负载因子的增大而增加


    正确答案:C

  • 第6题:

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

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

    答案:C
    解析:
    本题考察数据结构与算法基础知识。计算关键码序列(54,34,5,14,50,36,47,83)的散列函数值,为5,6,5,0,1,1,5,6,则其出现5的次数为3次。冲突次数最多。

  • 第7题:

    下列有关散列查找的叙述正确的是()。

    A.散列存储法只能存储数据元素的值,不能存储数据元素之间的关系
    B.散列冲突是指同一个关键字对应多个不同的散列地址
    C.用线性探测法解决冲突的散列表中,散列函数值相同的关键字总是存放在一片连续的存储单元中
    D.若散列表的装填因于a<<l,则可免冲突的严生

    答案:A
    解析:
    A项,在散列表中,每个元素的存储位置通过散列函数和解决冲突的方法得到,散列存储法只存储数据元素的值,不能存储数据元素之间的关系;B项,散列冲突是指多个不同关键字对应相同的散列地址;C项,用线性探测法解决冲突的散列表中,散列函数值相同的关键字不一定总是存放在一片连续的存储单元中;D项,装填因子a越小,发生冲突的概率越小,但仍有可能发生冲突。

  • 第8题:

    假定对线性表(38,25,74,52,48)进行散列存储,采用H(K)=K%7作为散列函数,若分别采用线性探查法和链接法处理冲突,则对各自散列表进行查找的平均查找长度分别为()和()。


    正确答案:2;7/5

  • 第9题:

    散列法存储的基本思想是由()决定数据的存储地址。


    正确答案:关键码直接

  • 第10题:

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

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

    正确答案:D

  • 第11题:

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

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

    正确答案:D

  • 第12题:

    填空题
    假定对线性表(38,25,74,52,48)进行散列存储,采用H(K)=K%7作为散列函数,若分别采用线性探测法和链接法处理冲突,则对各自散列表进行查找的平均查找长度分别为()和()。

    正确答案: 2,1.2
    解析: 暂无解析

  • 第13题:

    已知一个线性表(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所示。

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

  • 第14题:

    以下说法错误的是(42)。

    A.装填因子是散列法的一个重要参数,它反映了散列表的装填程度

    B.散列表的查找效率主要取决于散列表造表时选取的散列函数和处理冲突的方法

    C.散列表的结点中只包含数据元素自身的信息,不包含任何指针

    D.散列法存储的基本思想是由关键码值决定数据的存储地址


    正确答案:C
    解析:本题考查散列表的相关知识。散列表即哈希表,是由关键码值决定数据的存储地址的一种存储结构,表中的数据不仅包含自身的信息,而且还包含了一些相关的地址信息。元素的查找效率主要取决于散列表造表时选取的散列函数和处理冲突的方法。散列表的装填程度是由装填因子来体现的。

  • 第15题:

    下列问题是基于下列描述:散列表的地址区间为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。

  • 第16题:

    假定用散列函数H1=k mod 13计算散列地址,当发生冲突时,用散列函数 H2=k mod 11+1来计算下一个探测地址的地址增量。设散列表的地址空间为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可插入在该地址中。

  • 第17题:

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

  • 第18题:

    设有一组记录的关键字为{19,14,23,1,68,20,84,27,55,11,10,79},用链地址法构造散列表,散列函数为H(key)=keyMOD13,散列地址为1的链中有()个记录。

    A.1
    B.2
    C.3
    D.4

    答案:D
    解析:
    由散列函数H(key)=keyMOD13计算每个记录的散列地址,散列地址为1的关键字有14,1,27,79,共4个记录。

  • 第19题:

    哈希存储的基本思想是根据__(1)__来决定__(2)__,冲突(碰撞)指的是__(3)__,__(4)__越大,发生冲突的可能性也越大。处理冲突的两种主要方法是__(5)__。空白(5)处应选择()

    • A、线性探查法和双散列函数法
    • B、建溢出区法和不建溢出区法
    • C、除余法和折叠法
    • D、拉链法和开放地址法

    正确答案:D

  • 第20题:

    散列表的查找效率取决于散列表造表时选取的散列函数和处理冲突的方法。


    正确答案:正确

  • 第21题:

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

    • A、2
    • B、3
    • C、4
    • D、5

    正确答案:C

  • 第22题:

    下面关于散列查找的说法正确的是()

    • A、在采用线性探测法处理冲突的散列表中,同义词在表中一定相邻;
    • B、除留余数法是所有散列函数中最好的;
    • C、在散列表中进行查找,“比较”次数的多少与冲突有关;
    • D、散列函数构造的越复杂越好,因为这样随机性好,冲突小。

    正确答案:C

  • 第23题:

    单选题
    下面关于散列查找的说法正确的是()
    A

    在采用线性探测法处理冲突的散列表中,同义词在表中一定相邻;

    B

    除留余数法是所有散列函数中最好的;

    C

    在散列表中进行查找,“比较”次数的多少与冲突有关;

    D

    散列函数构造的越复杂越好,因为这样随机性好,冲突小。


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