python 哈希(hash)

python 哈希(hash)
散列表(Hash table)–哈希表
基于高度存取 ,一种典型的“空间换时间”
可以理解为一个线性表,其中元素不是紧密排列,可能存在空隙
散列表,依据关键码值(key value)而进行访问的数据结构,即,它通过把关键码值
映射到表中一个位置来访问记录,以加快查找速度,这个映射函数叫做散列函数,
存放记录的数组叫做散列表

eg
记录的存储位置 = f(关键字)
这里的对应关系f称为散列函数,又称为哈希,采用散列技术将记录存储在一块连续的存储空间中
这块连续存储空间称为散列或者哈希表(Hash table)

使用哈希表进行查询–使用哈希函数将key转换为对应的数组下标,并定位到该空间获取value
(充分利用数组的定位性能进行数据定位)

数组特点:寻址容易,插入和删除困难
链表特点:寻址困难,插入和删除容易
哈希表:寻址容易,插入删除也容易的数据结构

比方我们存储70个元素,但我们可能为这70个元素申请了100个元素的空间。
70/100=0.7,这个数字称为负载因子----高速存取
基于一种结果尽可能随机平均分布的固定函数H为每一个元素安排存储位置,这样就能够避免遍历性质的线性搜索
拉链法:链表的数组
根据元素的一些特征把元素分配到不同的链表中去,
也是根据这些特征,找到正确的链表,再从链表中找出这个元素。
Hash的应用
信息安全领域中加密算法;Hash就是找到一种数据

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值