网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

以下关于桶溢出的说法错误的是______。

A) 如果某个桶内已装满记录,又有新的记录要插入到该桶,就会产生桶溢出

B) 桶溢出也称为散列碰撞

C) 桶溢出的可能原因是文件初始设计时,为文件记录预留存储空间不足,预留的桶数偏少

D) 桶溢出的可能原因是没有溢出处理机制

A.

B.

C.

D.


参考答案

更多 “ 以下关于桶溢出的说法错误的是______。A) 如果某个桶内已装满记录,又有新的记录要插入到该桶,就会产生桶溢出B) 桶溢出也称为散列碰撞C) 桶溢出的可能原因是文件初始设计时,为文件记录预留存储空间不足,预留的桶数偏少D) 桶溢出的可能原因是没有溢出处理机制A.B.C.D. ” 相关考题
考题 在静态散列中,如果我们插入一条记录,而桶没有足够的空间,就会发生( )。 A.桶分裂B.数据丢失C.桶合并D.桶溢出

考题 阅读下列函数说明、图和C代码,将应填入(n)处的字句。[说明]散列文件的存储单位称为桶(BUCKET)。假如一个桶能存放m个记录,当桶中已有 m个同义词(散列函数值相同)的记录时,存放第m+1个同义词会发生“溢出”。此时需要将第m+1个同义词存放到另一个称为“溢出桶”的桶中。相对地,称存放前m个同义词的桶为“基桶”。溢出桶和基桶大小相同,用指针链接。查找指定元素记录时,首先在基桶中查找。若找到,则成功返回,否则沿指针到溢出桶中进行查找。例如:设散列函数为Hash(Key)=Key mod 7,记录的关键字序列为15,14,21,87,97,293,35,24,149,19,63,16,103,77,5,153,145,356,51,68,705,453,建立的散列文件内容如图4-1所示。[图4-1]为简化起见,散列文件的存储单位以内存单元表示。函数InsertToHashTable(int NewElemKey)的功能是:将元素NewEIemKey插入散列桶中,若插入成功则返回0,否则返回-1。采用的散列函数为Hash(NewElemKey)=NewElemKey % P,其中P为设定的基桶数目。函数中使用的预定义符号如下:define NULLKEY -1 /*散列桶的空闲单元标识*/define P 7 /*散列文件中基桶的数目*/define ITEMS 3 /*基桶和溢出桶的容量*/typedef struct BucketNode{ /*基桶和溢出桶的类型定义*/int KcyData[ITEMS];struct BucketNode *Link;}BUCKET;BUCKET Bucket[P]; /*基桶空间定义*/[函数]int lnsertToHashTable(int NewElemKey){/*将元素NewElemKey插入散列桶中,若插入成功则返回0,否则返回-1*//*设插入第一个元素前基桶的所有KeyData[]、Link域已分别初始化为NULLKEY、NULL*/int Index; /*基桶编号*/int i,k;BUCKET *s,*front,*t;(1) ;for(i=0; i<ITEMS;i++)/*在基桶查找空闲单元,若找到则将元素存入*/if(Bucket[Index].KeyData[i]=NULLKEY){Bucket[Index].KeyData[i]=NewElemKey; break;}if( (2) ) return 0;/*若基桶已满,则在溢出桶中查找空闲单元,若找不到则申请新的溢出桶*/(3) ; t=Bucket[Index].Link;if(t!=NULL) {/*有溢出桶*/while (t!=NULL){for(k=0; k<ITEMS; k++)if(t->KeyData[k]=NULLKEY){/*在溢出桶链表中找到空闲单元*/t->KeyData[k]=NewElemKey; break;}/*if*/front=t;if( (4) )t=t->Link;else break;}/*while*/}/*if*/if( (5) ) {/*申请新溢出桶并将元素存入*/s=(BUCKET*)malloe(sizeof(BUCKET));if(!s) return-1;s->Link=NULL;for(k=0; k<ITEMS; k++)s->KeyData[k]=NULLKEY;s->KeyData[0]=NewElemKey;(6) ;}/*if*/return 0;}/*InsertToHashTable*/

考题 散列文件组织将文件的物理空间划分为一系列的桶,每个桶的空间大小是固定的,可以容纳的文件记录也是固定的,如果某个桶内已经装满记录.又有新的记录插入就会产生桶溢出,产生桶溢出的2个主要原因为 (12) 和 (13) 。12.

考题 某供销社采购员小张买回一批酒精,放在甲、乙两个桶里,两个桶都未装满。如果把甲桶酒精倒入乙桶,乙桶装满后,甲桶还剩10升;如果把乙桶酒精全部倒人甲桶,甲桶还能再盛20升。已知甲桶容量是乙桶的2.5倍,那么,小张一共买回多少升酒精?( )A.28B.41C.30D.45

考题 阅读以下函数说明、图和C代码,将应填入(n)处的字句写在对应栏内。【说明】散列文件的存储单位称为桶(BUCKET)。假如一个桶能存放m个记录,当桶中已有m个同义词(散列函数值相同)的记录时,存放第m+1个同义词会发生“溢出”。此时需要将第m+1个同义词存放到另一个称为“溢出桶”的桶中。相对地,称存放前m个同义词的桶为“基桶”。溢出桶和基桶大小相同,用指针链接。查找指定元素记录时,首先在基桶中查找。若找到,则成功返回,否则沿指针到溢出桶中进行查找。例如:设散列函数为Hash(Key)=Key mod 7,记录的关键字序列为15,14,21,87,96, 293,35,24,149,19,63,16,103,77,5,153,145,356,51,68,705,453,建立的散列文件内容如图5-3所示。为简化起见,散列文件的存储单位以内存单元表示。函数InsertToHashTable(int NewElemKey)的功能是;若新元素NewElemKey正确插入散列文件中,则返回值1;否则返回值0。采用的散列函数为Hash(NewElemKey)=NewElemKey % P,其中P为设定的基桶数目。函数中使用的预定义符号如下:define NULLKEY-1 /*散列桶的空闲单元标识*/define P 7 /*散列文件中基桶的数目*/define ITEMS 3 /*基桶和溢出桶的容量*/typedef struet BucketNode{ /*基桶和溢出桶的类型定义*/int KeyData[ITEMS];struct BucketNode *Link;}BUCKET;BUCKET Bucket[P]; /*基桶空间定义*/【函数5-3】int InsertToHashTable(int NewElemKey){/*将元素NewElemKey插入散列桶中,若插入成功则返回0,否则返回-1*//*设插入第一个元素前基桶的所有KeyData[],Link域已分别初始化为NULLKEY、NULL*/int Index; /*基桶编号*/int i,k'BUCKET *s,*front,*t;(1);for(i=0;i<ITEMS;i++) /*在基桶查找空闲单元,若找到则将元素存入*/if(Bucket[Index].KeyData[i]==NULLKEY){Bucket[Index].KeyData[i]=NewElemKey;break;}if((2))return 0;/* 若基桶已满,则在溢出桶中查找空闲单元,若找不到则申请新的溢出桶*/(3);t=Bucket[Index].Link;if(t!=NULL){ /*有溢出桶*/while(t!=NULL){for(k=0;k<ITEMS;k++)if(t->KeyData[k]==NULLKEY){/* 在溢出桶链表中找到空闲单元*/t->KeyData[k]=NewElemKey;break;}/*if*/front=t;if((4))t=t->Link;else break;}/*while*/}/*if*/if((5)){ /* 申请新溢出桶并将元素存入*/s=(BUCKET *)malloc(sizeof(BUCKET));if(!s)retum -1;s->Link=NULL;for(k=0;k<ITEMS;k++)s->KeyData[k]=NULLKEY;s->KeyData[0]=NewElemKey;(6);}/*if*/return 0;}/*InsertToHashTable*/

考题 某供销社采购员小张买回一批酒精,放在甲、乙两个桶里,两个桶都未装满。如果把甲桶酒精倒入乙桶,乙桶装满后,甲桶还剩10升;如果把乙桶酒精全部倒入甲桶,甲桶还能再盛20升。已知甲桶容量是乙桶的2.5倍,那么,小张一共买回多少升酒精?( )A.28B.41C.30D.45

考题 某供销社采购员小张买回一批酒精,放在甲、乙两个桶里,两个桶都没装满。如果把甲桶酒精倒入乙桶,乙桶装满后,甲桶还剩10升,如果把乙桶酒精全部倒入甲桶,甲桶还能再盛20升。已知甲桶容量是乙桶的2.5倍。那么,小张一共买回多少升酒精?( )A.28B.41C.30D.45

考题 某供销社采购员小张买回一批酒精,放在甲、乙两个桶里,两个桶都未装满。如果把甲桶酒精倒入乙桶,乙桶装满后,甲桶还剩10升;如果把乙桶酒精全部倒入甲桶,甲桶还能再盛20升。已知甲桶容量是乙桶的1.5倍,那么,小张一共买回多少升酒精?( ) A. 28 B. 41 C. 30 D. 45

考题 某供销社采购员小张买回一批酒精,放在甲、乙两个桶里,两个桶都未装满。如果把甲桶酒精倒人乙桶,乙桶装满后,甲桶还剩l0升;如果把乙桶酒精全部倒人甲桶,甲桶还能再盛20升。已知甲桶容量是乙桶的2.5倍,那么,小张一共买回多少升酒精?(  )A.28 B.41 C.30 D.45