首页 > 编程知识 正文

哈希表的数据结构

时间:2023-05-06 14:13:40 阅读:193766 作者:656

转载自: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函数建立的一种查找表。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。