双重哈希(哈希判重)

本文主要介绍双重哈希(哈希重复判断),下面一起看看双重哈希(哈希重复判断)相关资讯。
双重哈希计算:-4% 3 = 2
对于除法,余数是唯一大于0小于除数的数。-4% 3需要用到同余公式,就是找一个与-4全等的整数:通俗点就是-4加除数3,如果还是负数,就加3,直到出现第一个正数,就是余数2。
形容
哈希表容量的大小一开始是不确定的。如果哈希表存储的元素太多(比如超过容量的十分之一),我们就要把哈希表的容量增加一倍,重新排列所有的哈希值。假设你像下面这个哈希表:
size = 3,capacity = 4 [null,21,14,null]↓↓9 null↓null这里有三个数字9,14,21,其中21和9共享同一个位置,因为它们的哈希值都是1(21% 4 = 9% 4 = 1)。我们将它们存储在同一个链表中。
重建哈希表,容量翻倍,我们会得到:
size = 3,capacity=8ind: 01234567哈希:[null,9,null,null,21,14,null]给定一个哈希表,返回哈希后的哈希表。
示例:
input: hashtable = [null,21-9-null,14-null,null] output: [null,9-null,null,null,null,null,21-null,14-null,null]解:
public listnod:整数){ code =(val % size size)% size;listnode node =新的listnode(val);node . next = res[code];res[code] =节点;} return res}标签:
除数容量
了解更多双重哈希(哈希重复判断)相关内容请关注本站点。