hash 直译:散列
音译:哈希
hash表=散列表
散列目标:就是已知一个关键字,我们能迅速查找到要查找对象所在的位置.所谓关键字就是指在全局范围内,不重复的能代表这个对象的信息.
key (关键字)通过数学公式映射出对象位置信息
存储位置信息的空间大小往往要远小于关键字的可能空间.
两个关键字映射到一个对象地址空间,第一个对象存储,第二个对象发现冲突,顺延地址信息.
在检索时,我们可以通过关键字进行相同的数学运算,得到位址信息,比方说计算出50,在50取出对象,若是这个对象,则ok.若不是说明发生冲突,顺序取51,52.....。直到取到。
散列特征:可以十分快速的通过关键字定位数据位置,与数据规模无关。
会占用更大的空间,1.5倍实际空间以上。为了避免经常发生碰撞。
是典型的以空间换时间