之前在H公司实习的时候,多次用到哈希表查找,在此做一个总结。
哈希表存储的基本思想是:设要存储的对象个数为n,设置一个长度为m(m>=n)的连续内存单元,以线性表中每个对象的关键字k_i(0 <= i <= n-1)为自变量,通过一个称为哈希函数的函数h(k_i),把k_i映射为内存单位的地址(或称下标)h(k_i),并把该对象存储在这个内存单元中。h(k_i)也称为哈希地址。把如此构造的线性表存储结构称为哈希表。
简言之,就是将关键词通过某种方法(哈希函数)后,把它们存放到相应的内存地址,以形成哈希表存储。
不废话,举例说明:
假设哈希表的长度m=13,采用除留余数法哈希函数建立如下关键字集合的哈希表:
{16,74,60,43,54,90,46,31,29,88,77}。