目录
哈希冲突的产生
哈希表是根据关键码的值而直接进行访问的数据结构。
哈希法又称散列法、杂凑法以及关键字地址计算法等,相应的表称为哈希表。
哈希表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元素。(哈希表可以用来快速判断一个元素是否出现在集合里)
哈希法法的基本思想是:首先在元素的关键字k和元素的存储位置p之间建立一个对应关系f,使得p=f(k),f称为哈希函数。创建哈希表时,把关键字为k的元素直接存入地址为f(k)的单元;以后当查找关键字为k的元素时,再利用哈希函数计算出该元素的存储位置p=f(k),从而达到按关键字直接存取元素的目的。
当关键字集合很大时,关键字值不同的元素可能会映象到哈希表的同一地址上,即 k1≠k2 ,但 H(k1)=H(k2),这种现象称为冲突,此时称k1和k2为同义词。实际中,冲突是不可避免的,只能通过改进哈希函数的性能来减少冲突。
综上所述,哈希法主要包括以下两方面的内容:
1)如何构造哈希函数
2)如何处理冲突。