怎么理解哈希表呢?首先,我们来看看哈希表有什么特点,我们为什么要用它.
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的例子,便于应用的理解