niusouti.com

假设把整数关键码K散列到有N个槽的散列表,以下哪些散列函数是好的散列函数()A.h(K)=KmodNB.h(K)=1C.h(K)=K/ND.h(K)=(K+rand(N))modN,rand(N)返回一个0到N-1的整数

题目

假设把整数关键码K散列到有N个槽的散列表,以下哪些散列函数是好的散列函数()

A.h(K)=KmodN

B.h(K)=1

C.h(K)=K/N

D.h(K)=(K+rand(N))modN,rand(N)返回一个0到N-1的整数


相似考题
更多“假设把整数关键码K散列到有N个槽的散列表,以下哪些散列函数是好的散列函数()A.h(K)=KmodNB.h(K)= ”相关问题
  • 第1题:

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


    正确答案:√
    线性探查法(Linear Probing) 该方法的基本思想是: 将散列表T[0..m-1]看成是一个循环向量,若初始探查的地址为d(即h(key)=d),则最长的探查序列为: d,d+l,d+2,…,m-1,0,1,…,d-1 即:探查时从地址d开始,首先探查T[d],然后依次探查T[d+1],…,直到T[m-1],此后又循环到T[0],T[1],…,直到探查到T[d-1]为止。

  • 第2题:

    假定有k个元素的散列函数值相等(称为同义词),若用线性探测法把这k个元素逐一插入散列表中,至少要进行_____次探测。

    A.k-1

    B.k

    C.k+1

    D.k (k+1)/2


    K(k+1)/2

  • 第3题:

    假定把关键码K散列到有n个槽(从0到n-1编号)的散列表中,散列表用开散列的冲突解决策略。对于下面的每一个函数h(K),这个函数作为散列函数可以使得插入和检索操作一定能正常工作的有() 注: 1.函数Random(n)返回一个0到n-1之间的随机整数(包含这两个数在内)。 2.不考虑散列函数的性能,只考虑其正确性 (多选)

    A.h(k)=1

    B.h(k)=k mod n, 其中n是一个素数

    C.h(k)=k/n,其中k和n都是整数

    D.h(k)=(k + Random(n)) mod n


    不可以接受。因为k/n可能大于n,这样就找不到适合的位置。$可以接受。但不是好的散列函数。因为所有关键码k都映射到同一位置,这造成最大的碰撞的次数。$不可以接受。因为该函数的返回值不确定,这样就无法正常进行检索。$可以接受。是一个好的散列函数。

  • 第4题:

    1、假定有k个元素的散列函数值相等(称为同义词),若用线性探测法把这k个元素逐一插入散列表中,至少要进行_____次探测。

    A.k-1

    B.k

    C.k+1

    D.k (k+1)/2


    k (k+1)/2

  • 第5题:

    假定有k个元素的散列函数值相等(称为同义词),若用线性探测法把这k个元素逐一插入散列表中,至少要进行()次探测。

    A.K

    B.K+1

    C.k-1

    D.K(k+1)/2


    K(k+1)/2