- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
哈希函数的构造方法-数据结构课程教学网站-绍兴文理学院
(第十九讲) 绍兴文理学院 计算机系计算机应用教研室 AAA BBBB 一个毕业设计大数据量测试数据的产生 AAA BBBB AAA BBBB AAA BBBB AAA BBBB 第7章 查 找(3) 一、教学目的:明确哈希表的有关概念;掌握哈希函数的构造方法;掌握常用的处理冲突的方法;掌握哈希查找平均查找长度的计算;初步掌握用开放定址法和链地址法解决冲突的算法;了解几个不同的处理冲突方法下的平均查找长度的公式;算法设计训练。 二、教学重点:哈希表的有关概念;哈希函数的构造方法;常用的处理冲突的方法;用开放定址法和链地址法解决冲突的算法;哈希查找平均查找长度的计算;算法设计训练。 三、教学难点:哈希表的构造及解决冲突的算法;算法设计。 四、教学过程: AAA BBBB §7.4 散列表的查找 §7.4.1 散列表的基本概念 1、散列查找法 前面所讨论的查找方法是建立在“比较”的基础上的,查找的效率依赖于查找过程中所进行的比较次数。 理想的情况是希望不经过任何比较就能直接计算出记录的存储地址,从而找到所要查找的记录。 如果能在元素的存储位置和其关键字之间建立某种直接关系,按照这种关系直接由关键字找到相应的记录。这就是散列查找法( Hash Search)的思想。散列查找法又叫杂凑法或散列法。 2、相关概念 (1) 散列函数和散列地址: 在记录的存储位置p和其关键字key之间建立一个确定的对应关系何,使p=H(key),称这个对应关系H为散列函数,p为散列地址。 TKS * * AAA BBBB 一个有限连续的地址空间,用以存储按散列函数计算得到相应散列地址的数据记录。通常散列表的存储空间是一个一维数组,散列地址是数组的下标。 例1,假设有一批关键字序列18,75,60,43,54,90,46,给定哈希函数H(k)=k%13,存贮区的内存地址从0到15,则可以得到每个关键字的散列地址为: H(18)=18%13=5 H(75)=75%13=10 H(60)=60%13=8 H(43)=43%13=4 H(54)=54%13=2 H(90)=90%13=12 H(46)=46%13=7 根据散列地址,可以将上述7个关键字序列存贮到一个一维数组HT(哈希表或散列表)中,具体表示为: (2) 散列表: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 HT 54 43 18 46 60 75 90 散列函数 散列地址 散列表 TKS * * AAA BBBB 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 HT 54 43 18 46 60 75 90 其中HT就是散列存贮的表,称为散列表或哈希表。从哈希表中查找一个元素相当方便,例如,查找75,只需计算出H(75)=75%13=10,则可以在HT[10]中找到75。 为了保证哈希表查找得以实现,必须使记录的存放规则和查找规则一致。 (3) 冲突和同义词: 对不同的关键字可能得到同一散列地址,即key1≠key2,而H(keyl)=H(key2),这种现象称为冲突。 具有相同函数值的关键字对该散列函数来说称作同义词,key1与key2互称为同义词。 例2 对C语言某些关键字集合建立一个散列表,关键字集合为: Sl={main,int,float,while,return,break,switch,case,do} 散列表定义为:char HT[26][8]; TKS * * AAA BBBB 设散列函数为:H(key)=key[0]-‘a’ while switch return main int float do case break 25 … 22 … 18 17 … 12 … 8 … 5 4 3 2 1 0 假设关键字集合扩充为: S2=Sl+{short,default,double,static,for, struct} 若散列函数不变,新加入的六个关键字经过汁算得到: H(short)=H(static)=H(struct)=18 H(default)=H(do
您可能关注的文档
- 小结月经先期.PPT
- 古代汉语复习题及答案填空1古代汉语是指以前历代的汉语答.DOC
- 少数民族民歌欣赏.PPT
- 小鱼小虾水稻稻螟虫蝗虫青蛙麻雀蛇老鹰猫头鹰黄鼠狼白鹭老鼠如果.PPT
- 就需要到专业的口腔黏膜科检查治疗了.DOC
- 古典的情怀千年的浪漫——诗经爱情诗选讲教学目的知识目标1.DOC
- 古典诗词赏析初步.PPT
- 古文详解童寄者.PPT
- 局部中药熏蒸机采购文件-六安中医院.DOC
- 就会把雄蕊的花粉传播到雌蕊的柱头上去.PPT
- 1.1细胞是生命活动的基本单位课件-2024-2025学年高一上学期生物人教版必修1.pptx
- 1.2细胞的多样性和统一性第1课时课件-2024-2025学年高一上学期生物人教版必修1.pptx
- 第16课《白杨礼赞》课件-2025-2026学年统编版语文八年级上册.pptx
- 2026届高三生物一轮复习课件+减数分裂与生物的遗传、变异.pptx
- 3.1细胞膜的结构和功能第2课时课件-2025-2026学年高一上学期生物人教版必修1.pptx
- 2025届高三生物一轮复习课件2.1减数分裂和受精作用.ppt
- 中考语文二轮专题复习课件:新闻概括题.pptx
- 第6课《我看》课件+++2025-2026学年统编版语文九年级上册.pptx
- 第21课《人民英雄永存不朽》课件-2025-2026学年统编版语文八年级上册.pptx
- 2025年广西河池罗城特聘农机技术指导员的(1人)考前自测高频考点模拟试题含答案详解(b卷).docx
最近下载
- 神经内科三基考试题及答案.doc VIP
- 等离子体物理与当代高新技术(本科生).ppt VIP
- SMTC 2 800 003 LIN节点设计需求LIN node design requirements(20180730).pdf
- 医院医院安保服务及停车场运营管理服务招标文件.pdf
- (最新)社区网格员考试试题(含答案).docx VIP
- 老小区燃气管道改造监理实施细则.docx VIP
- 中国行业标准 YY/T 1831-2021梅毒螺旋体抗体检测试剂盒(免疫层析法).pdf
- Walkera华科尔无人机FCS-F8使用指南_CN_V1.2_2020.10.12(金属壳版).pdf
- 五升六数学暑假作业60天附答案.docx VIP
- 高中物理:强基计划专题讲座.pptx VIP
文档评论(0)