如果我们用向量存储一组数据,虽然它的查询效率为是令人满意的,但是其会占用大量的存储空间,其空间效率就不令人满意了。
所以我们引入了散列。
首先定义桶(bucket):直接存放或间接指向一个词条,称其为桶数组/散列表 容量为M。
其容量要压缩将其控制在N<M<<R,N为待存放的元素,R为实际的元素容量
其通过散列函数:hash():key----->&entry,可以通过这个函数将任意关键码转换为词条或者它的入口(桶单元)
有上图可以看出通过散列函数,将关键码转换,会出现冲突如5153.1876和6278.2001。这种冲突是不能避免的(使用一些得当的方法,可将冲突降低在一很小的范围)。