哈希表的基本概念.pptVIP

  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文档。上传文档
查看更多
再建立一个公共溢出区 思想:除设立哈希基本表外,另设立一个溢出向量表 所有关键字和基本表中关键字为同义词的记录,不管它们由哈希函数得到的地址是什么,一旦发生冲突,都填入溢出表 昆山爱达人信息技术有限公司 QQ:254830010 冲突处理方法 查找过程 昆山爱达人信息技术有限公司 QQ:254830010 哈希表的查找 1.哈希表的概念 2.哈希函数的构造方法 3.冲突处理方法 4.哈希表的查找 昆山爱达人信息技术有限公司 QQ:254830010 本节内容 哈希表的基本概念 哈希表:即散列存储结构 散列存储的基本思想:建立关键码与存储位置对应关系,或者说由关键码的值决定数据的存储的地址。 优点:查找速度极快,查找效率与元素个数无关 昆山爱达人信息技术有限公司 QQ:254830010 哈希表的概念 哈希表的基本概念 昆山爱达人信息技术有限公司 QQ:254830010 哈希表的概念 哈希表的基本概念 哈希方法:选取某个函数,依该函数按关键字计算元素的存储位置并按此存放;查找时也由同一个函数对给定值k计算地址,将k与地址内容进行比较,确定查找是否成功。 哈希函数:哈希方法中使用的转换函数称为哈希函数 哈希表:按上述思想构造的表称为哈希表 同义词:具有相同函数值的两个不同的关键字称哈希函数的同义词 冲突:通常关键码的集合比哈希地址集合大得多,因而经过哈希函数变换后,可能将不同的关键码映射到同一哈希地址上,这种现象称为冲突。 昆山爱达人信息技术有限公司 QQ:254830010 哈希表的概念 哈希表的基本概念 昆山爱达人信息技术有限公司 QQ:254830010 哈希表的概念 哈希表的基本概念 在哈希查找方法中,冲突是不可避免的,只能尽可能减少。所以用哈希方法必须解决以下问题: 1.构造好的哈希函数 (a)所选函数尽可能简单,以便提高转换速度 (b)所选函数对关键码计算出的地址,应在哈希地址内集中并大致均匀,以减少空间浪费。 2.指定一个好的解决冲突的方案 昆山爱达人信息技术有限公司 QQ:254830010 哈希表的概念 哈希函数的构造 要求1:散列查找是以空间换时间,但仍要做到散列的地址空间尽量小。 要求2:尽量均匀存放,避免冲突 常用的构造方法: 1.直接定址法 2.除留余数法 3.数字分析法 4.平方取中法 5.折叠法 6.随机数法 昆山爱达人信息技术有限公司 QQ:254830010 哈希函数的构造方法 直接定址法 昆山爱达人信息技术有限公司 QQ:254830010 哈希函数的构造方法 除留余数法 Hash(key) = key mod p (p是一个整数) 特点:以关键码除以p的余数作为哈希地址 关键:如何选取合适的p? 技巧:若设计的哈希表长为m,则一般取p=m且为质数 昆山爱达人信息技术有限公司 QQ:254830010 哈希函数的构造方法 数字分析法 昆山爱达人信息技术有限公司 QQ:254830010 哈希函数的构造方法 平方取中法 特点:对关键码平方后,按哈希表大小,取中间的若干位作为哈希地址。 昆山爱达人信息技术有限公司 QQ:254830010 哈希函数的构造方法 折叠法 特点:将关键码自左向右分成位数相等的几部分(最后一部分位数可以短些),然后将这几部分叠加求和,并按哈希表表长,取后几位作为哈希地址 适用于:每一位上各符号出现概率大致相同的情况 法1:移位法--将各部分按最后一位对齐相加 法2:间界叠加法--从一端向另一端分割界来回折叠后,最后一位对齐相加。 昆山爱达人信息技术有限公司 QQ:254830010 哈希函数的构造方法 随机数法 Hash(key)=random(key) (random为随机函数) 适用于:关键字长度不等的情况。造表和查表都很方便。 昆山爱达人信息技术有限公司 QQ:254830010 哈希函数的构造方法 常见的冲突处理方法 1.开放定址法 2.链地址法 3.再哈希法(双哈希函数法) 4.建立一个公共溢出区 昆山爱达人信息技术有限公司 QQ:254830010 冲突处理方法 开放定址法 设计思想:有冲突时就去寻找一下空的哈希地址,只要哈希表足够大,空的哈希地址总能找到,并将数据元素存入 具体实现: 昆山爱达人信息技术有限公司 QQ:254830010 冲突处理方法 开放定址法 昆山爱达人信息技术有限公司 QQ:254830010 冲突处理方法 开放定址法 线性物探法的优点:只要哈希表未被填满,保证能找到一个空地址单元存放有冲突的元素 线性物探法的缺点:可能使第i个哈希地址的同义词存入第i+1个哈希地址,这样本应存入第i+1个哈希

文档评论(0)

niupai11 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档