发布时间:2025-08-15 14:32:52 点击量:
HASH GAME - Online Skill Game GET 300
具体实现时,建立一个伪随机数发生器来生成探查序列。 例如,假设哈希表长度 m=11,哈希函数为:H(key)= key % 11,则 H(47)=3,H(26)=4,H(60)=5,假设下一个关键字为 69,则H(69)=3, 与 47 冲突。如果用伪随机探测再散列处理冲突,且伪随机数序列为:2,5,9,…,则下一个哈希地址为 H1=(32)%11=5,仍然冲突,再 找下一个哈希地址为 H2=(35)%11=8,此时不再冲突,将 69 填入 8 号单元。
关于叫法推荐叫双散列函数探查法,因为双重散列探查法的名字有歧义,是使用两个散列函数还是使用一个散列函数做两次散列计算呢,没 有那么直白。 这种方法使用两个散列函数 h1 和 h2。其中 h1 和前面的 h 一样,以关键字为自变量,产生一个 0 至 m-1 之间的数作为散列地址;h2 也以 关键字为自变量,产生一个 1 至 m-1 之间的并和 m 互素的数(即 m 不能被该数整除)作为探查序列的地址增量(即步长)。这样做是使探 查序列能够分布在整个 Hash 表。