当前位置:小百通网>问答百科>

hash值不一致游戏断开怎么处理

人气:209℃/时间:2024-07-25 21:42:16

1.开放定值法:

也叫再散列法,当关键字key的哈希地址p=H(key)出现冲突时,以p为基础,产生另一个哈希地址p1,如果p1仍然冲突,再以p为基础,产生另一个哈希地址p2,…,直到找出一个不冲突的哈希地址pi ,将相应元素存入其中。

通常都是用以下公式计算:Hi=(H(key)+di)% m   i=1,2,…,n

其中H(key)为哈希函数,m 为表长,di称为增量序列。增量序列的取值方式不同,相应的再散列方式也不同。主要有三种:线性探测再散列(冲突发生时,顺序查看表中下一单元,直到找出一个空单元或查遍全表),二次探测再散列(冲突发生时,在表的左右进行跳跃式探测,直到找到空单元),伪随机探测再散列。

2.链地址法:

这种方法的基本思想是将所有哈希地址为i的元素构成一个称为同义词链的单链表,并将单链表的头指针存在哈希表的第i个单元中,因而查找、插入和删除主要在同义词链中进行。链地址法适用于经常进行插入和删除的情况。像之前看到的HashMap 就是利用这种方法解决Hash冲突的。

3.再哈希法:

多写几个哈希函数,算出来一个hashcode 重复的就用另一个哈希函数算,直到算出来不一样。

4.建立一个公共溢出区域,就是把冲突的都放在另一个地方,不在表里面。

  • 字典|词典|成语|诗词|美文|谜语|问答
    ©2024 小百通网 All Rights Reserved.
    手机版/电脑版