一、哈希函数
把关键词key映射到哈希表上的索引的函数,即为哈希函数
index = hashFunction(key);
由于表的具体大小有限,如果hashFunction的返回值大于表最大边界(tableSize-1),就会出现问题。对此,采用取模运算解决
hashFunction = hashCode(key) % tableSize;
二、哈希碰撞
1.造成碰撞的原因:
有多种原因可能产生碰撞,比如总数据量比整个表的大小更大,或是hashFunction将两个key映射到了同一个index处,又或者是处理碰撞所带来的碰撞
在哈希法中,碰撞几乎是不可避免的!
2.处理碰撞的一般方法
拉链法:
所有出现碰撞的位置,使用一条链表存储所有映射到该位置的信息
探索法:
依据探索函数,在在表中找出下一个可以存放的位置并放置冲突数据