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

新闻资讯

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

HAXIYOUXI-HAXIYOUXIPINGTAI-HAXIYOUXIAPP

哈希游戏- 哈希游戏平台- 官方网站海量数据处理专题(三)——Hash

作者:小编2026-01-28 14:17:01

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

哈希游戏- 哈希游戏平台- 哈希游戏官方网站海量数据处理专题(三)——Hash

  d-left hashing中的d是多个的意思,我们先简化这个问题,看一看2-left hashing。2-left hashing指的是将一个哈希表分成长度相等的两半,分别叫做T1和T2,给T1和T2分别配备一个哈希函数,h1和h2。在存储一个新的key时,同 时用两个哈希函数进行计算,得出两个地址h1[key]和h2[key]。这时需要检查T1中的h1[key]位置和T2中的h2[key]位置,哪一个 位置已经存储的(有碰撞的)key比较多,然后将新key存储在负载少的位置。如果两边一样多,比如两个位置都为空或者都存储了一个key,就把新key 存储在左边的T1子表中,2-left也由此而来。在查找一个key时,必须进行两次hash,同时查找两个位置。

  这个问题很值得讨论,首先是你采用什么数据类型来存储手机号,如果是用数值型,那么理论上手机号码是随机分布,因此最简单的取摸就可以保证散列均匀,(当然了,int型数值是不能存放完整手机号,因此可以采用多级hash的方法,这就有点类似于trie树,但是和trie树还是有本质区别)。如果采用字符串型,那么普通的MD5,SHA1都是可选的方法,另外,trie树的结构效率也是很高的,而且不存在碰撞问题。本系列后面的文章会讲到Trie树的结构。