1、开放定址法:
Hi=(H(key)+di)% m
其中H(key)为哈希函数,m 为表长,di称为增量序列。根据增量序列的取值方式不同,具体到下面三种散列方法:
线性探测再散列:di=1,2,3,…,m-1
二次探测再散列:di=1^2,-1^2,2^2,-2^2,…,k^2,-k^2 ( k<=m/2 )
伪随机探测再散列:di=伪随机数序列
2、再哈希法:
同时构造多个不同的哈希函数,当第一个哈希地址发生冲突的时候,用第二个哈希函数来计算……,直到冲突不再发生。
3、链地址法:
相当于HashMap中还没到阀值前的链表散列。
4、建立一个公共溢出区:
将哈希表分为基本表和溢出表两部分,凡是和基本表发生冲突的元素,一律放入溢出表。