视频课程
小黑屋思过中,禁止观看!
评论并刷新后可见

您需要在视频最下面评论并刷新后,方可查看完整视频

视频课程
立即观看
付费视频

您支付费用,方可查看完整视频

¥{{user.role.value}}
课程视频
开始学习
会员专享

视频合集

【视频】哈希函数如何实现?槽位为什么2^n?如何Put数据 ?

  • 课程笔记
  • 问答交流

欢迎来到mikechen的互联网架构,我是Mike,很高兴认识你。

这是我的原创精讲视频,我把自己10几年功力全部融入其中了,大家只需要花半瓶矿泉水的钱,就能立即学习了。

觉得不错的同学,麻烦分享给身边需要的人。

 

哈希表,本质上是一个数组。

通过前面的学习,我们知道了,如果要访问一个数组中某个特定的元素,那么需要知道这个元素的索引。

 

例如,

  1. 我们可以用数组来记录自己好友的电话号码,索引 0 指向的元素记录着 A 的电话号码,索引 1 指向的元素记录着 B 的电话号码,以此类推。
  2.  
  3. 而当这个数组非常大的时候,全凭记忆去记住哪个索引记录着哪个好友的号码是非常困难的。这时候如果有一个函数,可以将我们好友的姓名作为一个输入,然后输出这个好友的号码在数组中对应的索引,是不是就方便了很多呢?
  4.  
  5. 这样的一种函数,其实就是哈希函数。哈希函数的定义是将任意长度的一个对象映射到一个固定长度的值上,而这个值我们可以称作是哈希值(Hash Value)。

 

哈希函数一般会有以下三个特性:

  • 任何对象作为哈希函数的输入都可以得到一个相应的哈希值;
  • 两个相同的对象作为哈希函数的输入,它们总会得到一样的哈希值;
  • 两个不同的对象作为哈希函数的输入,它们不一定会得到不同的哈希值。

对于哈希函数的前两个特性,比较好理解。但是对于第三种特性,我们应该如何解读呢?

 

在什么样的情况下,会体现出哈希函数的第三种特性呢?

【视频】哈希函数如何实现?槽位为什么2^n?如何Put数据 ?-mikechen

字数限制,就不一一详细阐述了,我将在这个视频中进行源码案例详解

想拿高薪或进大厂的同学,建议观看。

 

如果你觉得上面的知识点还不过瘾,

我还为大家准备了《VIP架构系列课》

评论交流
    说说你的看法