Hash算法
Posted 互联网后端架构
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hash算法相关的知识,希望对你有一定的参考价值。
概述
基本概念
哈希函数的构造方法
1. 直接寻址法
2. 数字分析法
3. 平方取中法
4. 分段叠加法
5. 除留余数法
假设哈希表长为m,p为小于等于m的最大素数,则哈希函数为h(k)=k % p ,其中%为模p取余运算。
6. 伪随机数法
采用一个伪随机函数做哈希函数,即h(key)=random(key)。
处理冲突的方法
通过构造性能良好的哈希函数,可以减少冲突,但一般不可能完全避免冲突,因此解决冲突是哈希法的另一个关键问题。创建哈希表和查找哈希表都会遇到冲突,两种情况下解决冲突的方法应该一致。下面以创建哈希表为例,说明解决冲突的方法。常用的解决冲突方法有以下四种:
1. 开放定址法
2. 再哈希法
3. 链地址法
4. 建立公共溢出区
这种方法的基本思想是:将哈希表分为基本表和溢出表两部分,凡是和基本表发生冲突的元素,一律填入溢出表。
以上是关于Hash算法的主要内容,如果未能解决你的问题,请参考以下文章