考虑 4 位整数键的动态散列方法:
- (A)有一个大小为 4 的主哈希表。
- (B) 键的 2 个最低有效位用于索引到主哈希表中。
- (C)最初,主哈希表条目是空的。
- (D)此后,当更多的键被散列到其中时,为了解决冲突,与主哈希表条目对应的所有键的集合被组织为按需增长的二叉树。
- (E)首先,使用第 3 个最低有效位将键划分为左子树和右子树。
- (F)为了解决更多的冲突,二叉树的每个节点根据第 4 个最低有效位进一步细分为左子树和右子树。
- (G)仅在需要时才进行拆分,即仅在发生碰撞时进行。
考虑哈希表的以下状态。
以下哪个键插入序列会导致哈希表的上述状态(假设键是十进制表示法)?
(一) 5、9、4、13、10、7
(乙) 9,5,10,6,7,1
(C) 10、9、6、7、5、13
(四) 9,5,13,6,10,14答案: (C)
说明:选项 (A) 中给出的序列是不可能的,因为条目 4 (= 0100) 不在最终哈希表中。
选项 (B) 中给出的序列是不可能的,因为条目 1 (=0001) 和 9 (=1001) 基于第三个 LSB 解决了 0 侧的冲突。
选项 (C) 中给出的序列是获得给定最终哈希表的正确序列。
选项 (D) 中给出的序列是不可能的,因为第三列中的条目 6 (=0110)、10 (=1010) 和 14 (=1110),最终哈希表中没有给出 3 序列。
这个问题的测验