散列表查找
所谓查找就是通过关键字key找到数据元素的地址。本质上是确定关键字集合K到地址空间A的映射:H:K-->A。所有的算法都是在计算H(k)的值的过程。大多数查找算法没有一个简单直接的对应关系。
而散列函数就是一个映射关键字到散列表的压缩函数。通过一个简单的映射关系,直接通过key计算出地址。数据元素存放的地方称为散列表。
对于给定的关键字集合,散列函数(hash)计算的地址要分布均匀,这样会减少不同关键字得到同一地址的情况的出现。但是尽管如此,还是会出现冲突的情况,因此还要制定解决冲突的方法。
解决冲突的方法分为闭散列和开散列方法。闭散列方法将溢出的数据元素直接放入散列表中,而开散列不是。