哈希表的数据结构[通俗易懂]

转载自:https://www.jianshu.com/p/b468abd86f61Hash表的结构图:数组+链表哈希表(Hashtable,也叫散列表),是根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表白话一点的说就是通过把Key通过一个固定的算法函数(hash函数)转换成一个整型数字,然后就对该数字对数组的长度进行取余,取余结果就

大家好,又见面了,我是你们的朋友全栈君。

转载自:https://www.jianshu.com/p/b468abd86f61

Hash表的结构图:

在这里插入图片描述

数组 + 链表

哈希表(Hash table,也叫散列表),是根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表

白话一点的说就是通过把Key通过一个固定的算法函数(hash函数)转换成一个整型数字,然后就对该数字对数组的长度进行取余,取余结果就当作数组的下标,将value存储在以该数字为下标的数组空间里。

当使用hash表查询时,就是使用hash函数将key转换成对应的数组下标,并定位到该下标的数组空间里获取value,这样就充分利用到数组的定位性能进行数据定位。

先了解一下下面几个常说的几个关键字是什么:

  • key:我们输入待查找的值
  • value:我们想要获取的内容
  • hash值:key通过hash函数算出的值(对数组长度取模,便可得到数组下标)
  • hash函数(散列函数):存在一种函数F,根据这个函数和查找关键字key,可以直接确定查找值所在位置,而不需要一个个遍历比较。这样就预先知道key在的位置,直接找到数据,提升效率。
  • 地址index=F(key)

hash函数就是根据key计算出该存储地址的位置,hash表就是基于hash函数建立的一种查找表。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127425.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js读取本地json文件_jquery读取本地json文件

    js读取本地json文件_jquery读取本地json文件1.首先编写一个json文件:demo.json[{“name”:”张三”,”sex”:”男”,”email”:”zhangsan@123.com”},{“name”:”李四”,”sex”:”男”,”email”:”lisi@123.com”},{“name”:”王五”,”sex”:”女”,”email”:”wangwu@123.com…

    2022年10月12日
    3
  • 【超详细教程】Mac如何用QuickTime录屏soundflower录制屏内外声音(附视频演示教程)

    【超详细教程】Mac如何用QuickTime录屏soundflower录制屏内外声音(附视频演示教程)作者:齐木南子酱链接:http://www.i5seo.com/mac-own-software-recording-screen.html来源:长沙SEO霜天如何用mac自带软件录屏且录制屏内屏外声音?这个问题困扰了很多使用苹果mac笔记本的用户,本教程你能get到的3个技能点1.用macbook自带软件录屏(无屏内屏外声音)2.用macbook自带软件录屏+有屏内声音+…

    2022年6月8日
    47
  • 同步FIFO和异步FIFO总结[通俗易懂]

    同步FIFO和异步FIFO总结[通俗易懂]文章目录1.FIFO简介2.使用场景3.分类4.FIFO的常见参数5.FIFO设计5.1空满标志生成5.2异步FIFO的设计还要注意跨时钟域问题5.3gray码如何判断空满`6.同步FIFO实现`7.异步FIFO实现8.对FIFO进行约束9.关于异步FIFO最小深度的计算9.1写时钟快于读时钟,写和读的过程中没有空闲周期9.2写时钟频率大于读时钟频率,但在读写的过程中存在空闲周期9.3写时钟慢于读时钟,且读写过程中没有空闲周期9.4写时钟频率小于读时钟频率,但读写过程中存在空

    2022年8月13日
    10
  • error parsing http request header

    error parsing http request header

    2021年7月15日
    111
  • http.sys远程代码注入漏洞

    http.sys远程代码注入漏洞http.sys是一个位于Win2003和WinXPSP2中的操作系统核心组件,能够让任何应用程序通过它提供的接口,以http协议进行信息通讯。主要存在于在Windows+IIS环境下,影响了包括Windows7、WindowsServer2008R2、Windows8、WindowsServer2012、Windows8.1和WindowsServer2012

    2022年7月25日
    8
  • latex中希腊字母_LaTeX符号

    latex中希腊字母_LaTeX符号Latex和Matlab绘图中希腊字母、特殊符号汇总表Latex和Matlab绘图中希腊字母、特殊符号汇总表Latex和Matlab绘图中希腊字母、特殊符号汇总表一、小写希腊字母、特殊符号二、大写希腊字母三、希腊字母斜体原创不易,路过的各位大佬请点个赞一、小写希腊字母、特殊符号二、大写希腊字母三、希腊字母斜体原创不易,路过的各位大佬请点个赞…

    2022年10月13日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号