问题 单项选择题

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

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

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

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

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

答案

参考答案:D

解析: 散列文件组织将文件的物理空间划分为一系列桶,每个桶的空间大小是固定的,可容纳的文件记录数目是固定的。如果某个桶内已装满记录,又有新的记录要插入到该桶,就会产生桶溢出,也称为散列碰撞。桶溢出的原因包括:文件初始设计时,为文件记录预留存储空间不足,预留的桶数偏少;散列函数的“均匀分布性”不好,造成某些桶存满了记录,其他桶内却有较多空闲空间。由于散列函数是事先设计的,不可能完全符合文件的实际使用情况,即使散列函数认真设计、存储空间留有一定余量,桶溢出现象也难以避免。因此,需要DBS采用相应的桶溢出处理机制,即溢出处理机制是桶溢出的结果而并非原因。所以本题的答案为D。

单项选择题
问答题 简答题