数据结构随笔 hash,哈希

  1. 哈希算法(散列函数)

散列函数可以把数据进行压缩,使得数据量变小,将数据的格式(长度)固定下来。
(能将复杂的数据转换成 固定格式的数据)

  1. 哈希值

通过哈希算法得到的任意长度的二进制值映射为较短的固定长度的二进制值

PS:类似于y=f(x),其中发f()为哈希算法,y为哈希值

  1. 哈希冲突

我们想要的哈希,是为了实现一对一的关系,才能保证唯一性,但是在有的情况下,两个不同的数经过哈希变换之后,可能出现多对一的情况,于是我们就要提高哈希变换的复杂度,从而实现唯一性

例如一个值3和另一个值7,哈希算法:f(x)=x%2,其结果都为1,即一个值有两个对应的值,此时就产生了哈希冲突

  1. 哈希表

Hash表也称散列表,也有直接译作哈希表,Hash表是一种特殊的数据结构

人们可以利用key进行散列函数计算,从而获得相应的地址,并将数据(key,value)存入相应地址

address = f(key)
在这里插入图片描述
类似于字典。例如:人们需要查找key=a的数据的时候,不需要遍历所有的key,只需要将key通过散列计算直接获取相应的address,即可直接从address中获取数据。

发布了68 篇原创文章 · 获赞 0 · 访问量 1727

猜你喜欢

转载自blog.csdn.net/qj4865/article/details/104754940