Hash、Hash表
Hash
Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),
通过散列算法,变换成固定长度的输出,该输出就是散列值。
这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,
而不可能从散列值来唯一的确定输入值。
MD5可以说是目前应用最广泛的Hash算法
Hash表(散列表)
散列表(Hashtable,也叫哈希表),是根据关键码值(Keyvalue)而直接进行访问的数据结构。也就是说,
它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放
记录的数组叫做散列表。
就是用关键字计算KEY值得到这个KEY值是放在Hash表中的那个表项中,再到这个表项中查找这个KEY的数据进行返回。
这样做就加快了查找效率(整个数据表找KEY的方式要进行所有的对比)。
Hash表是为了加快查找功能而引入的技术,当然在写入时也是要进行相关计算再插入的,对写效率有一点影响,但提
高了查找效率(互联网就是查找功能用得多),类似于数据库加索引一样,也是为了提高查找效率。