信息技术:09 哈希表.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

哈希表

众所周知,HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫Entry,这些键值对(Entry)分散存储在一个数组当中,这个数组就是HashMap的主干。

使用哈希表可以进行非常快速的查找操作,查找时间为常数,同时不需要元素排列有序;Python的内建数据类型:字典就是用哈希表实现的。

Python中的这些东西都是哈希原理:字典(dictionary)、集合(set)、计数器(counter)、默认字典Defautdict)、有序字典(Orderdict).

哈希表示一个高效的查找的数据结构,哈希表一个通过哈希函数来计算数据存储位置的数据结构,通常支持如下操作:

insert(key,value):插入键值对(key,value)

get(key):如果存在键为key的键值对则返回其value,否则返回空值

delete(key):删除键为key的键值对

直接寻址表

直接寻址技术缺点:

当域U很大时,需要消耗大量内存,很不实际

如果域U很大而实际出现的key很少,则大量空间被浪费

无法处理关键字不是数字的情况

哈希

直接寻址表:key为k的元素放到k位置上

改进直接寻址表:哈希(Hashing)

构建大小为m的寻址表T

key为k的元素放到h(k)位置上

h(k)是一个函数,其将域U映射到表T[0,1,...,m-1]

哈希表

哈希表(HashTable,又称为散列表),是一种线性表的存储结构。哈希表由一个直接寻址表和一个哈希函数组成。哈希函数h(k)将元素关键字k作为自变量,返回元素的存储下标。

假设有一个长度为7的哈希表,哈希函数h(k)=k%7.元素集合{14,22,3,5}的存储方式如下图:

?

7.1?哈希表的应用

1,集合与字典

字典与集合都是通过哈希表来实现的。比如:

使用哈希表存储字典,通过哈希表将字典的键映射为下标,假设h(name)=3,h(age)=4,则哈希表存储为:

如果发生哈希冲突,则通过拉链法或开发寻址法解决。

2,md5算法

MD5(Message-DigestAlgorithm5)曾经是密码学中常用的哈希函数,可以把任意长度的数据映射为128位的哈希值,其曾经包含如下特征:

1,同样的消息,其MD5值必定相同;

2,可以快速计算出任意给定消息的MD5值;

3,除非暴力的枚举所有可能的消息,否则不可能从哈希值反推出消息本身;

4,两天消息之间即使只有微小的差别,其对应的MD5值也应该是完全不同,完全不相关的;

5,不能再有意义的时间内人工的构造两个不同的消息,使其具有相同的MD5值

3,md5

应用举例:文件的哈希值

算出文件的哈希值,若两个文件的哈希值相同,则可认为这两个文件时相同的,因此:

1,用户可以利用它来验证下载的文件是否完整

2,云存储服务商可以利用它来判断用户要上次的文件是否已经存在于服务器上,从而实现秒传的功能,同时避免存储过多相同的文件副本。

————————————————

版权声明:本文为CSDN博主「qq的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:/qqjava/article/details/104579351

文档评论(0)

K12教育资源 + 关注
实名认证
文档贡献者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年02月03日上传了教师资格证

1亿VIP精品文档

相关文档