数据结构解决哈希冲突方法回顾

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、建立一个公共溢出区:

  将哈希表分为基本表和溢出表两部分,凡是和基本表发生冲突的元素,一律放入溢出表。

posted on 2018-09-19 14:02  植物大戰僵尸  阅读(244)  评论(0编辑  收藏  举报

导航