哈希表(hash table)

怎么理解哈希表呢?首先,我们来看看哈希表有什么特点,我们为什么要用它.

hash table是一个高效的数据结构.它可以把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间.但是,需要的代价是会消耗比较多的内存.同时, 它还有编码容易的特点. 所以,一般在一些数据的查找时,我们可以应用哈希表进行处理.

 

然后就是重点了,怎么理解呢?下面是简单的理解:

首先是: 理解哈希表的原理,其核心是理解所谓的哈希函数(散列函数)。即如何构建一个确定的映射,它能把关键字映射到一个唯一的存储位置。这种映射应该是我们可以进行计算的。已知关键字,我们应该能算出其地址;反之,已知地址,我们可以检索到对应的关键字。一旦建立起这种关系,那么给定关键字,我就能直接利用这个映射(即所谓的哈希函数)直接算出其地址并寻址。这可大大缩减确定关键字存储位置所花的时间。

"关键字我们可以理解成map类型的键值, 我们 通过哈希函数(映射)把键值变成了类似于数组的下标(可以认为是地址),通过这种地址我们可以快速的访问或则存储对应的值(对应map中的value)."

 

 

https://blog.csdn.net/zongyue_wang/article/details/81947142

上面的链接中对哈希表进行了通俗的讲解

https://blog.csdn.net/tanggao1314/article/details/51457585

上面的链接中对哈希表的各个知识点进行了详细的讲解

https://blog.csdn.net/qq_41230365/article/details/81058217

上面的链接中对哈希表的应用做了一定的讲解,包含了一个leetcode的例子,便于应用的理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值