niusouti.com

数据结构与算法里,对不同的关键字可能得到同一哈希地址,即key≠key2面f(key1)=f(key2)这种现象称冲突(collision)。具有相同函数值的关键词对该哈希函数来说乘坐同义词。

题目

数据结构与算法里,对不同的关键字可能得到同一哈希地址,即key≠key2面f(key1)=f(key2)这种现象称冲突(collision)。具有相同函数值的关键词对该哈希函数来说乘坐同义词。


相似考题
更多“数据结构与算法里,对不同的关键字可能得到同一哈希地址,即key≠key2面f(key1)=f(key2)这种现象称冲突(collision)。具有相同函数值的关键词对该哈希函数来说乘坐同义词。”相关问题
  • 第1题:

    阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。

    【说明】

    函数DelA_InsB(LinkedList La,LinkedList Lb,int key1,int key2,int len)的功能是:将线性表A中关键码为key1的结点开始的len个结点,按原顺序移至线性表B中关键码为key2的结点之前,若移动成功,则返回0;否则返回-1。线性表的存储结构为带头结点的单链表,La为表A的头指针,Lb为表B的头指针。单链表结点的类型定义为

    typedef struct node {

    int key;

    struct node * next;

    } *LinkedList;

    【函数】

    int DelA_InsB ( LinkedList La, LinkdeList Lb,int key1,int key2,,int len)

    { LinkedList p,q,s,prep,pres;

    int k;

    if( ! La->next || ! Lb-> next ||| en <=0)return-1;

    p = La -> next;prep = La;

    while(p&&p- >key != key1) { /*查找表A中键值为key1的结点*/

    prep = p;p = p -> next;

    }

    if( ! p) return - 1; /*在表A中不存在键值为key1的结点*/

    q=p;k=1;

    while(q &&(1))} /*表A中不存在要被删除的len个结点*/

    (2);k++;

    }

    if( ! q)return -1; /*表A中不存在要被删除的len个结点*/

    s = Lb -> next;(3);

    while(s && s -> key != key2) { /*查找表B中键值为key2的结点*/

    pres =s;s =s->next;

    }

    if( ! s) return - t; /*表B中不存在键值为key2的结点*/

    (4)=q-> next; /*将表A中的len个结点删除*/

    q->next=(5);

    pres -> next = p; /*将len个结点移至表B */

    return 0;

    }


    正确答案:(1)klen (2)q=q->next或q=(*q).next (3)pres=Lb (4)prep->next或(*prep).next (5)s或pres->next或(*pres).next
    (1)klen (2)q=q->next或q=(*q).next (3)pres=Lb (4)prep->next或(*prep).next (5)s或pres->next或(*pres).next 解析:(1)此处while循环应当循环至k等于len结束,所以应填入klen。(2)此处语句表示链表前进一个结点,应填入q=q->next或q=(*q).next。(3)此处语句为指针pres赋初值,使他指向s的上一结点。(4)修改指针prep,使prep指向q的下一结点。(5)此处语句为修改指针q,q指向s或者pres的下一结点,达到将A中的len个结点删除的目的。

  • 第2题:

    设哈希表地址范围为0~19,哈希函数H(key)=key%17,使用二次探测再散列法处理冲突。若表中已存放有关键字值为 6、22、38、55的记录,则再放入关键字值为72的记录时,其存放地址应为()。

    A、2

    B、3

    C、4

    D、7

    E、8

    F、以上都不对


    正确答案:D

  • 第3题:

    对于关键字序列(10,34,37,51,14,25,56,22,3),用线性探查法解决冲突构造哈希表,哈希函数为H(key)=key%11,关键字25存入的哈希地址编号为()。

    A、2

    B、3

    C、5

    D、6


    正确答案:C

  • 第4题:

    对于给定的关键字序列{47,34,13,12,52,38,33,27,5},若用链地址法(拉链法)解决冲突来构造哈希表,且哈希函数为H(key)=key%11,则( )。

    A.哈希地址为1的链表最长
    B.哈希地址6的链表最长
    C.34和12在同一个链表中
    D.13和33在同一个链表中

    答案:C
    解析:
    根据题中给出的散列函数,构造哈希函数地址如下:H(47)=47%11=3 ,H(34)=34%11=1 ,H(13)=13%11=2, H(12)=12%11=1 ,H(52)=52%11=8,H(38)=38%11=5, H(33)=33%11=0, H(27)=27%11=5 ,H(5)=5%11=5。根据表的结构特点选择C。

  • 第5题:

    在哈希查找中,不同关键字值对应到同一哈希地址上的现象称为()


    正确答案:冲突

  • 第6题:

    设哈希表的地址范围为0~17,哈希函数为:H(key)=key%16。用线性探测法处理冲突,输入关键字序列:(10,24,32,17,31,30,46,47,40,63,49),构造哈希表,试回答下列问题:若查找关键字63,需要依次与哪些关键字进行比较?


    正确答案:查找63,首先要与H(63)=63%16=15号单元内容比较,即63与31比较 ,不匹配; 然后顺移,与46,47,32,17,63相比,一共比较了6次!

  • 第7题:

    数据结构与算法中,设哈希表长为14,哈希函数是H(key)=key%11,表中已有数据的关键字为15,38,61,84共四个,现要将关键字为49的结点加到表中,用二次探测再散列法解决冲突,则放入的位置是()。

    • A、8
    • B、9
    • C、5
    • D、3

    正确答案:B

  • 第8题:

    关键字自身作为哈希函数,即H(k)=k,也可自身加上一个常数作为哈希函数,即H(k)=k+C这种构造哈希函数的方式叫()。


    正确答案:直接定址法

  • 第9题:

    问答题
    设哈希表的地址范围为0~17,哈希函数为:H(key)=key%16。用线性探测法处理冲突,输入关键字序列:(10,24,32,17,31,30,46,47,40,63,49),构造哈希表,试回答下列问题:若查找关键字60,需要依次与哪些关键字比较?

    正确答案: 查找60,首先要与H(60)=60%16=12号单元内容比较,但因为12号单元为空(应当有空标记),所以应当只比较这一次即可。
    解析: 暂无解析

  • 第10题:

    判断题
    数据结构与算法里,若对于关键字集合中的任何一个关键字,经哈希函数映像到地址集合中任何一个地址的概率是相等的。则称此类哈希函数为均匀的(Uniform)哈希函数。
    A

    B


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

  • 第11题:

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

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

  • 第12题:

    判断题
    数据结构与算法中,负载因子(装填因子)是哈希表的一个重要参数,它反映哈希表的装满程度,该值越大则发生冲突可能性越大。
    A

    B


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

  • 第13题:

    哈希冲突是指多个不同关键字经哈希函数计算得到相同的哈希地址。()

    此题为判断题(对,错)。


    正确答案:错误

  • 第14题:

    采用哈希(或散列)技术构造查找表时,需要考虑冲突(碰撞)的处理,冲突是指______。

    A.关键字相同的记录被映射到不同的哈希地址

    B.关键字依次被映射到编号连续的哈希地址

    C.关键字不同的记录被映射到同一个哈希地址

    D.关键字的数目超过哈希地址的数目

    A.

    B.

    C.

    D.


    正确答案:C

  • 第15题:

    ●若采用链地址法对关键字序列(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

  • 第16题:

    对于关键字序列(10,34,37,51,14,25,56,22,3),用线性探查法解决冲突构造哈希表,哈希函数为H(key)=key%11,关键字25存入的哈希地址编号为( )。

    A.2
    B.3
    C.5
    D.6

    答案:C
    解析:
    1)序列的长度为11,标号0到102)依次将数带入哈希函数求哈希值,哈希值对应步骤1中标号3)如果步骤2的哈希值对应的标号已经被占用,则往后-位,直到未占用的位置存放4)如果步骤3到了最后一个标号还未找到,则从0开始找,找到该哈希值之前本题25代入哈希值为3,其中3已被14占,后退一位4号被37占用,5号为空,所以25应该存入标号为5的位置

  • 第17题:

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


    正确答案:7

  • 第18题:

    数据结构与算法里,若对于关键字集合中的任何一个关键字,经哈希函数映像到地址集合中任何一个地址的概率是相等的。则称此类哈希函数为均匀的(Uniform)哈希函数。


    正确答案:正确

  • 第19题:

    已知下列各种初始状态(长度为n)的元素,试问当利用直接插入排序进行排序时,至少需要进行多少次比较(要求排序后的记录由小到大顺序排列)? ⑴关键码从小到大有序(key1< key2< …< keyn)。 ⑵关键码从大到小有序(key1> key2 >…> keyn)。 ⑶奇数关键码顺序有序,偶数关键码顺序有序(key1< key3< …,key2key4…)。 ⑷前半部分元素按关键码顺序有序,后半部分元素按关键码顺序有序,即:(key1< key2< …< keym,keym+1< keym+2 <…)


    正确答案:依题意,最好情况下的比较次数即为最少比较次数。
    ⑴插入第i(2≤i≤n)个元素的比较次数为1,因此总的比较次数为:1+1+……+1=n-1
    ⑵插入第i(2≤i≤n)个元素的比较次数为i,因此总的比较次数为:2+3+……+n=(n-1)(n+2)/2
    ⑶比较次数最少的情况是所有记录关键码按升序排列,总的比较次数为:n-1
    ⑷在后半部分元素的关键码均大于前半部分元素的关键码时需要的比较次数最少,总的比较次数为:n-1

  • 第20题:

    关于哈希函数,以下说法错误的是()。

    • A、哈希函数的主要目的在于在元素和关键字之间建立一一对应的关系
    • B、哈希函数就是关键字本身
    • C、哈希函数可以由用户自己定义
    • D、同一组数据,可以使用不同的哈希函数得到不同的哈希表

    正确答案:B

  • 第21题:

    问答题
    设哈希表的地址范围为0~17,哈希函数为:H(key)=key%16。用线性探测法处理冲突,输入关键字序列:(10,24,32,17,31,30,46,47,40,63,49),构造哈希表,试回答下列问题:假定每个关键字的查找概率相等,求查找成功时的平均查找长度。

    正确答案: 对于黑色数据元素,各比较1次;共6次; 对红色元素则各不相同,要统计移位的位数。“63”需要6次,“49”需要3次,“40”需要2次,“46”需要3次,“47”需要3次,
    所以ASL=1/11(6+2+3×3+6)=23/11
    解析: 暂无解析

  • 第22题:

    判断题
    数据结构与算法里,对不同的关键字可能得到同一哈希地址,即key≠key2面f(key1)=f(key2)这种现象称冲突(collision)。具有相同函数值的关键词对该哈希函数来说乘坐同义词。
    A

    B


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

  • 第23题:

    填空题
    在哈希查找中,不同关键字值对应到同一哈希地址上的现象称为()

    正确答案: 冲突
    解析: 暂无解析