何为哈希(hash)?

What is Hash?(什么是哈希)

Hash, 是“散列”的意思,就是把任意长度的输入(预映射, pre-image),通过散列算法,变换成固定长度的输出,那么输出的就是散列值。简单来说,Hash就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数

Hash Algorithm(哈希算法)

举个简单的例子,比如家里来了一摞书,没有按照顺序就放在了书架上,看似很整齐,但是当你去查找哪一本书的时候,你可能就会头大了。因为这么多书,没有一定规则存放,要找具体哪一本书非常地费时,有时候还未必能找到。就在你一筹莫展的时候,你母亲进来了,帮你把所有的书,全部拿出来,先按书的类别进行分类,有历史、人文、科普、计算机专业、土木工程专业、摄影等类别,放在不同的分区。虽然分类的过程花费的时间比随意乱放要长很多,但是你按一定规则摆放书籍之后,以后能更快地的找到你想要的具体拿一本书,因而提高了查找效率。

以上的例子是哈希算法应用于生活的一个十分常见的例子。也就是说,通过哈希算法,我们能按一定的规范存储数据,目的就是给数据定位,以便于之后查找。这是哈希算法的核心价值所在。不过,没有一样东西是完美的,算法也不例外。就像摆放书籍这个例子一样,虽然按照了一定规则去摆放书籍,方便查找,但是按某种规则去防止书籍的过程缺花费了不少的时间。那也就是说,哈希算法,

优点:查找数据快;

缺点:插入数据慢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值