假设我们的数据集都是6 bit 的整形,下图展示了这些数据在 extendible hash 下的数据存储模式。根据两个 bit 位的组合将数据拆分成4个部分,每个部分可容纳4个元素。
公式:D 用来表示使用几个 bit 位来确定分配,我们称拆分后的部分为 leaf ,每个 leaf 最多容纳 2 D 2^D 2D个元素。
如果我们要插入 key 值为100100,按照我们的计算规则,它将会进入第三个 leaf,但这个 leaf 已经没有多余的空间了。此时,我们的执行策略是,将这个 leaf 拆分成2个 leaf,同时,将 D 的值增加到3,使用3个bit位来确定leaf。
如果要插入 key 值为000000,那么第一个 leaf 会涉及到拆分,仅仅只需要更改000和001的连接。如下图所示