欢迎您访问广东某某机械环保科有限公司网站,公司主营某某机械、某某设备、某某模具等产品!
全国咨询热线: 400-123-4567

哈希游戏

哈希游戏| 哈希游戏平台| 哈希游戏APP

HAXIYOUXI-HAXIYOUXIPINGTAI-HAXIYOUXIAPP

哈希游戏- 哈希游戏平台- 官方网站三种动态hash方法doc

作者:小编2026-03-23 23:49:25

  哈希游戏- 哈希游戏平台- 哈希游戏官方网站

哈希游戏- 哈希游戏平台- 哈希游戏官方网站三种动态hash方法doc

  在上图的基础上,我们插入数据d1和d2,且假定,经过hash函数求值后分别得到H(d1)=13;H(d2)=20。因为13=1101,因全局位深度为2,故选用最后两位01,找到编号为01的目录项,从而找到其指向的桶b,由于该桶还有空间,可直接存入数据。因20=10100,全局位深度为2,选用最后两位00,选定第一个目录项,这时我们发现其指向的桶a中已经放满了数据,于是该桶进行分裂,分裂的桶的局部位深度从2变为3,若这个数据比全局位深度还大,则全局位深度也等于该数,并进行目录项的翻倍操作。分裂的桶中的所有数据,需进行局部的重组。下图列出了分裂后的hash表的情况。

  对a桶进行分裂后,得到两个桶a1和a2,其局部深度加1。由于局部深度大于全局位深度,因此目录数组进行翻倍,从4变为8,且目录编号扩展一位(如图)。桶a分裂为a1桶和a2桶,分别设置指针。对原来a桶中的所有元素进行重组操作,32和16的后三位均为000,于是放入a1桶,4和12的后三位均为100,于是放入a2桶。对目录项数组中其它未赋值的目录项,进行赋值,使指针指向对应的桶。至此,插入操作完毕。可以看到,有多个目录指向同一个桶。