哈希表知识与相关题目(Python)

1. 哈希表知识

1.1 哈希表简介

哈希表(Hash Table):也叫做散列表。是根据键(key)、值(value)直接进行访问的数据结构。也就是说,它通过键key和一个映射函数Hash(key)计算出对应的值value,把key和value映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做哈希函数,存放记录的数组叫做哈希表。

哈希表的关键思想是使用哈希函数,将键 key 映射到对应表的某个区块中。

哈希表的原理实例如下图所示:
在这里插入图片描述
上图例子的解释:value = Hash(key) = key // 1000 作为哈希函数。// 符号代表整除。

  • 插入:通过哈希函数解析关键字,并将对应值存放到该区块中
    比如:value = Hash(key) = 0138 // 100 = 0,得出应将0138分配到0所在的区块中。
  • 查找:通过哈希函数解析关键字,并在特点的区块搜索关键字对应的值。
    比如: 查找4232,通过哈希函数,得出2022应该在4所对应的区块中。然后为满从4对应的区块中继续搜索,并在2对应的区块中成功找到。
    比如:查找 3214,通过哈希函数,得出 3214 应该在 3 所对应的区块中。然后我们从 3 对应的区块中继续搜索,但并没有找到对应值,则说明 3214 不在哈希表中。

1.2 哈希函数

哈希函数:将哈希表中元素的键值(key)映射为元素存储位置(value)的函数。

哈希函数的重要的部分:

  • 哈希函数应该易于计算,并且尽量使计算出来的索引值均匀分布。
  • 哈希函数计算得到的哈希值是一个固定长度的输出值。
  • if Hash(key1) != Hash(key2) 则 key1与key2一定不相等。
  • if Hash(key1) = Hash(key2) 则key1与key2可能相等,也可能不相等(哈希碰撞)

下面我们介绍几个常用的哈希函数方法:

  • 直接定值法:取关键字或者关键字的某个线性函数为哈希地址。即:Hash(key)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值