JoeChenzzz

导航

哈希表

1.概念

1)哈希表(散列表)是一种根据关键字 key 去寻找值 value数据映射结构

2)哈希表通过一个函数把key映射到表上的一个位置(哈希地址)来存储,以加快下一次查找的速度,这个函数就叫哈希函数

3)所以说,哈希技术既是一种存储技术,也是一种查找技术

2.哈希冲突

1)对不同的关键字可能得到同一哈希地址,即key1≠key2,而f(key1)=f(key2),这种现象称为冲突

2)我们可以通过精心设计哈希函数让哈希冲突尽可能少,但是冲突不能完全避免

3.哈希函数的构造方法

3.1构造原则

1)计算应简单,这样就不费时,查找起来快

2)哈希地址应分布均匀,这样可以一来保证空间的利用率,二来减少冲突

3.1除留余数法

3.2直接定址法

3.3数字分析法

3.4平方取中法

4.处理哈希冲突

4.1链地址法

 

4.2开放地址法(再地址法)

4.3再哈希函数法

 

4.4公共溢出区法

 

5.时间复杂度

  插入、查找、删除平均时间复杂度O(1),最坏情况O(n)

posted on 2019-01-18 12:08  JoeChenzzz  阅读(180)  评论(0编辑  收藏  举报