- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2015_SHI_DS_哈希表
数据结构Data Structures石 振 锋2015年秋查找(集合)查找的基本概念静态查找表动态查找表哈希表§3 哈希表哈希表(Hash Tables) 也被称为散列表,是普通数组概念的推广。因为可以对数组进行直接寻址,故可以在O(1)时间内访问到数组的任意元素。§3 哈希表哈希表(Hash Tables) 当关键字全域比较小的时候,利用数组(直接寻址表)是一种简单有效的技术。§3 哈希表哈希表(Hash Tables)直接寻址技术存在的问题: 如果全域U很大,在计算机中存储大小为|U|的一张表T就有点不实际,甚至是不可能的。 实际的应用中,要存储的关键字集合K,相对U来说很小,因此分配给T的大部分空间会被浪费。§3 哈希表哈希表(Hash Tables) 给定关键字,期望通过计算,即利用哈希函数h(x)计算出关键字在表T中的位置。§3 哈希表哈希表(Hash Tables) 在直接寻址方式下,具有关键字k的数据元素,存放在槽k中。 在哈希方式下,具有关键字k的数据元素,存放在槽h(k) 中。其中h(x)是散列函数。 碰撞(collision)例如:对于如下 9 个关键字: {Zhao, Qian, Sun, Li, Wu, Chen, Han, Ye, Dai} 设哈希函数 f (key) = ?(Ord(关键字首字母) - Ord(‘A’) + 1) / 2? 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Zhou Han Li Wu Ye Chen Qian Sun Zhao Dai 问题: 若添加关键字 Zhou,会出现什么情况 ? Zhou 从这个例子可见: 1) 哈希函数是一个映像,即:将关键字的集合映射到某个地址 集合上。它的设置很灵活,只要使得关键字的哈希函数值都 落在表长允许的范围之内即可; 2) 由于哈希函数是一个压缩映像,因此,在一般情况下,很容 易产生“冲突”现象,即:key1 ? key2,而 f (key1) = f (key2)。 这种具有相同函数值的关键字称为同义词。 3) 很难找到一个不产生冲突的哈希函数。一般情况下,只能 选择恰当的哈希函数,使冲突尽可能少地产生。 因此:在构造这种特殊的“查找表”时,除了需要选择一个“好”的哈希函数(其原则是尽可能地使任意一组关键字的哈希地址均匀地分布在整个地址空间中,即用任意关键字作为哈希函数的自变量其计算结果随机分布,以尽可能少产生冲突) ; 还需要找到一种“处理冲突”的方法。 §3 哈希表哈希表(Hash Tables)哈希表的定义 根据设定的哈希函数H(key)和所选中的处理冲突的方法建立的查找表。其基本思想是:以记录的关键字为自变量,根据哈希函数,计算出对应的哈希地址,并在此存储该记录的内容。 这一映像过程称为哈希造表或散列。 §3 哈希表哈希表(Hash Tables) 当对记录进行查找时,再根据给定的关键字,用同一个哈希函数计算出给定关键字对应的存储地址,随后进行访问。所以哈希表既是一种存储形式,又是一种查找方法,通常将这种查找方法称为哈希查找。 1. 直接定址法 2. 数字分析法 3. 平方取中法 4. 折叠法 5. 除留余数法 6. 随机数法 §3 哈希表哈希函数的构造方法 对数字关键字可有下列构造方法: 对非数字关键字,常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash等等0 1 2 3 4 5 6 7 8 9100300500700800900§3 哈希表直接定址法 取关键字或关键字的某个线性函数值为散列地址,即哈希函数为关键字的线性函数 H(key) = key 或者 H(key) = a ? key + b (其中a、b为常数) 例:关键码集合为{ 100,300,500,700,800,900 },选取哈希函数为 Hash(key)=key/100,画初存储结构(哈希表)§3 哈希表直接定址法 特点:地址集合的大小 = 关键字集合的大小。 优点:以关键码 key 的某个线性函数值为哈希地址, 不会产生冲突。缺点:要占用连续地址空间,空间效率低。 实际中能使用这种哈希函数的情况很少§3 哈希表数字分析法选用关键字的某几位组合成哈希地址。选用原则应当是:各种符号在该位上出现的频率大致相同。 适于关键字位数比哈希地址位数大,且可能出现的关键字事先知道的情况。 §3 哈希表数字分析法例:有一组(例如80
您可能关注的文档
- 2015 BSNJ最新安全生产法律法规清单 V3.doc
- 2015 Bossie评选:最佳开源大数据工具.docx
- 2015 年最新版本ISO9001标准文件.docx
- 2015 新鲁教版 相似三角形的性质1.ppt
- 2015 19周防踩踏安全教育主题班会.ppt
- 2015 最新第一节 欧洲宗教改革的历史背景.ppt
- 2015 郊区人大食品安全汇报材料定稿.doc
- 2015 静电接地标准培训.ppt
- 2015+ATS/ERS/JRS/ALAT临床实践指南:特发性肺纤维化的治疗.docx
- 2015--2016人教版六年级数学下册__百分数_、折扣与成数课件.pptx
- 2015《一公司安全管理实施细则》.doc
- 2015—2016高中语文苏教版(必修1)课件:第一专题《回旋舞》.ppt
- 2015《个人理财》知识点讲义.doc
- 2015“科学减灾依法应对”主题教育.ppt
- 2015—2016学年度第一学期期中考试.doc
- 2015《高考总复习》第一轮总复习配套课件:专题五_日益重要的国际组织(选修3).ppt
- 2015《雨霖铃》上课用课件.ppt
- 2015【湖南师大内部资料】高一政治必修1课件:3.7.2收入分配与社会公平(新人教版).ppt
- 2015一级建造师法律法规真题-分开版.docx
- 2015上半年中级软考《信息系统-系统集成项目管理工程师》上午综合知识真题试题.docx
最近下载
- 国考行测言语理解成语辨析专项.docx VIP
- 危大工程监理实施细则.docx VIP
- 农业电商新模式:2025年乡村特色农产品直播带货基地运营优化方案.docx VIP
- 员工关系管理(第2版)李新建-第2章 员工关系的确立与劳动合同管理.ppt VIP
- 学习中央城市工作会议精神解读心得体会.doc VIP
- 英语国家社会与文化入门上册(第四版)朱永涛复习笔记考研真题.pdf VIP
- 煤矿采空区岩土工程勘察规范.pdf VIP
- 《GB/T 42124.3-2025产品几何技术规范(GPS) 模制件的尺寸和几何公差 第3部分:铸件尺寸公差、几何公差与机械加工余量》.pdf
- 员工关系管理(第2版)李新建-第15章 员工多元化及多元化员工关系管理.ppt VIP
- 关于医院招聘护理工作人员简章.pdf VIP
原创力文档


文档评论(0)