在散列函数H(key)=key%p中,p一般取()A、大于1000的数B、小于1000的数C、随机数D、素数

题目
在散列函数H(key)=key%p中,p一般取()

A、大于1000的数

B、小于1000的数

C、随机数

D、素数


相似考题
更多“在散列函数H(key)=key%p中,p一般取() A、大于1000的数B、小于1000的数C、随机数D、素数”相关问题
  • 第1题:

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


    参考答案:

  • 第2题:

    当采用除留余数法构造散列函数时,即h(key)=key mod p,若要将发生冲突现象的频率降至最低,p最好是( )(设散列表的长度为m)。A.小于m的最大偶数B.大于m的最小基数C.小于m的最大素数D.大于m的最小偶数


    正确答案:C
    选择一个适当的正整数p(通常选p为不大于散列表存储区域大小的最大素数),用p除关键码值,取其余数作为地址

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

    某哈希表(散列表)的长度为n,改散列函数为H(Key) = Key mod p,采用线性探测法解决冲突。以下关于P值的叙述中,正确的是(61)。

    A.p的值一般为不大于n且最接近n的质数

    B.p 的值一般为大于n的任意整数

    C.p 的值必须为小于n的合数

    D.p 的值必须等于n


    正确答案:A
    在采用散列表进行数据存储时,散列函数中p的取值是非常重要的,因为该取值直接影响冲突发生率,所以p的值一般会取接近于元素个数n但是要小于n的质数。例如你n取20,那么P最好是19。

  • 第5题:

    试题三(共15分)

    阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。

    【说明】

    函数Insert _key (*root,key)的功能是将键值key插入到*root指向根结点的二叉查找树中(二叉查找树为空时*root为空指针)。若给定的二叉查找树中已经包含键值为key的结点,则不进行插入操作并返回0;否则申请新结点、存入key的值并将新结点加入树中,返回l。

    提示:

    二叉查找树又称为二叉排序树,它或者是一棵空树,或者是具有如下性质的二叉树:

    ●若它的左子树非空,则其左子树上所有结点的键值均小于根结点的键值;

    ●若它的右子树非空,则其右子树上所有结点的键值均大于根结点的键值;

    ●左、右子树本身就是二叉查找树。

    设二叉查找树采用二叉链表存储结构,链表结点类型定义如下:

    typedef struct BiTnode{

    int key _value; /*结点的键值,为非负整数*/

    struct BiTnode *left,*right; /*结点的左、右子树指针*/

    }BiTnode, *BSTree;

    【C函数】

    int Insert _key( BSTree *root,int key)

    {

    BiTnode *father= NULL,*p=*root, *s;

    while( (1)&&key!=p->key_value){/*查找键值为key的结点*/

    father=p;

    if(key< p->key_value)p= (2) ; /*进入左子树*/

    else p= (3) ; /木进入右子树*/

    }

    if (p) return 0; /*二叉查找树中已存在键值为key的结点,无需再插入*/

    s= (BiTnode *)malloc( (4) );/*根据结点类型生成新结点*/

    if (!s) return -1;

    s->key_value= key; s->left= NULL; s->right= NULL;

    if( !father)

    (5) ; /*新结点作为二叉查找树的根结点*/

    else /*新结点插入二叉查找树的适当位置*/

    if( key< father->key_value)father->left = s;

    elsefather->right = s;

    retum 1:

    }


    正确答案:
    (1)p   
    (2)p->left   
    (3) p->right  
    (4) sizeof(BiTnode)   
    (5)  *root=s

  • 第6题:

    设散列表中有m个存储单元,散列函数H(key)=key%p,则p最好选择()。

    A.小于等于m的最大偶数
    B.小于等于m的最大合数
    C.小于等于m的最大奇数
    D.小于等于m的最大素数

    答案:D
    解析:
    p最好选择小于等于m的最大素数。

  • 第7题:

    在散列函数H(k)=kmodm中,一般来讲,m应取()。

    • A、奇数
    • B、偶数
    • C、素数
    • D、充分大的数

    正确答案:C

  • 第8题:

    设散列表中有m个存储单元,散列函数H(key)=key%p,则p最好选择()。

    • A、小于等于m的最大奇数
    • B、小于等于m的最大素数
    • C、小于等于m的最大偶数
    • D、小于等于m的最大合数

    正确答案:B

  • 第9题:

    设散列地址空间为0~m-1,k为关键字,用P去除k,将余数作为k的散列地址,即:h(k)=k%P,为了减少发生冲突的可能性,一般取P为()。

    • A、小于m的最大奇数
    • B、小于m的最大素数
    • C、小于m的最大偶数
    • D、小于m的最大合数

    正确答案:B

  • 第10题:

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

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

  • 第11题:

    单选题
    随机函数Rnd(10)的功能为()。
    A

    产生一个大于或等于0小于1的单精度随机数

    B

    产生一个大于或等于0小于10的单精度随机数

    C

    产生一个大于0小于10的单精度随机数

    D

    产生一个大于0小于1的单精度随机数


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

  • 第12题:

    单选题
    在散列函数H(k)=kmodm中,一般来讲,m应取()。
    A

    奇数

    B

    偶数

    C

    素数

    D

    充分大的数


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

  • 第13题:

    设散列表中m个存储单元,散列函数为H(key)=key%p,p是最好选择()。

    A.小于等于m的最大奇数

    B.小于等于m的最大素数

    C.小于等于m的最大偶数

    D.小于等于m的最大合数


    正确答案:B

  • 第14题:

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

    A.

    B.

    C.

    D.


    正确答案:B

  • 第15题:

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


    正确答案:A

  • 第16题:

    ● 若线性表(24, 13, 31, 6, 15, 18, 8)采用散列(Hash)法进行存储和查找,设散列函数为H(Key)=Key mod 11,则构造散列表时发生冲突的元素为 (1) 。(其中的mod表示整除取余运算)

    (1)

    A. 24和13

    B. 6 和15

    C. 6 和24

    D. 18和8


    正确答案:A

  • 第17题:

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

    A.A
    B.B
    C.C
    D.D

    答案:B
    解析:
    散列函数为H(Key)=KeyMOD11(MOD表示整除取余运算),因此只需要对线性表类数据分别与7进行取余运算。 12,24,15,56,20,87,69,9与11取余分别得到:1,2,4,1,9,10,3,9,按照序列依次存储到相应位置,若出现冲突则往后顺延

  • 第18题:

    在散列函数H(k)=kmodm中,一般来讲,m应取()。

    A.素数
    B.充分大的数
    C.奇数
    D.偶数

    答案:A
    解析:
    一般建议m取素数。

  • 第19题:

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


    正确答案:7

  • 第20题:

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

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

    正确答案:A

  • 第21题:

    随机函数Rnd(10)的功能为()。

    • A、产生一个大于或等于0小于1的单精度随机数
    • B、产生一个大于或等于0小于10的单精度随机数
    • C、产生一个大于0小于10的单精度随机数
    • D、产生一个大于0小于1的单精度随机数

    正确答案:A

  • 第22题:

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

    17

    B

    13

    C

    16

    D

    任意


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

  • 第23题:

    单选题
    设散列地址空间为0~m-1,k为关键字,用P去除k,将余数作为k的散列地址,即:h(k)=k%P,为了减少发生冲突的可能性,一般取P为()。
    A

    小于m的最大奇数

    B

    小于m的最大素数

    C

    小于m的最大偶数

    D

    小于m的最大合数


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