哈希表
什么是哈希表
哈希表是通过哈希函数和冲突处理算法将一组关键字映射到一个有限连续的地址集上,并以关键字在地址集中的映射作为记录在表中的位置,那么这个表称为哈希表。
哈希函数
一、直接定址法
直接根据关键字的信息确定关键字的存储位置的方法称为直接定址法。
通过 H ( k e y ) = k e y H(key) = key H(key)=key 或者 H ( k e y ) = a ∗ k e y + b H(key) = a*key+b H(key)=a∗key+b
直接计算得到映射地址的方法。
二、除留余数法
此方法为大多数题目所常考的方法
H ( k e y ) = k e y % m H(key) = key\%m H(key)=key%m
m通常为不超过哈希表长度的最大素数。 % \% %意为取整除之后的余数
三、随机数法
通过计算机语言中的随机数函数得到一个映射地址,实质上还是一个哈希函数
H ( k e y ) = r a n d o m ( k e y ) H(key) = random(key) H(key)=random(