在一个数据结构中查找key元素,用顺序查找、二分查找都需要经过一系列关键之比较才能查找到结果,平均查找长度与数据量有关,元素越多比较次数就越多。
如果根据元素的关键字就能知道元素的存储位置,那么只需要耗时O(1)的时间就能够查找到结果,这是最理想的查找效率,散列存储就是基于这种思想
散列(Hash)就是根据关键字编址的存储和查找技术,根据元素的关键字确定元素的存储位置,查找、插入和删除操作效率接近于O(1),是目前查找效率最高的一种数据结构。
散列技术的关键问题是设计散列函数和处理冲突。
散列函数(Hash Function)建立由数据元素的关键字到该元素的存储位置的一种映射关系:
int hash(int key)