【暖*墟】 # Hash # 哈希散列表 + 相同的雪花

本文详细介绍了哈希表的特征、拉链法实现、哈希函数在信息安全和查找中的应用,以及散列法的几种常见方法,如除法、平方和斐波那契散列法。通过实例展示了哈希表如何提高数据查找效率,并讨论了哈希冲突的解决方案。
摘要由CSDN通过智能技术生成

# 哈希表(散列表)#

 

1、哈希表的特征 

是根据关键码值(Key value)而直接进行访问的数据结构。

它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。

这个映射函数叫做散列函数,存放记录的数组叫做散列表。

这里的对应关系 f 称为散列函数,又称为哈希(Hash函数),

散列将记录存储在一块连续的存储空间中,这块连续存储空间称为散列表或哈希表。

哈希表是把Key通过一个固定的算法函数,即所谓的哈希函数转换成一个整型数字

然后就将该数字对数组长度进行取余,取余结果就当作数组的下标,

将value存储在以该数字为下标的数组空间里。

(或:把任意长度的输入(又叫做预映射),通过散列算法,变换成固定长度的输出,

该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,

不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。

简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。)

而当使用哈希表进行查询的时候,就是再次使用哈希函数将key转换为对应的数组下标

定位到该空间获取value,如此一来,就可以充分利用到数组的定位性能进行数据定位。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值