- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 查找概要1
8.4.2 哈希函数的构造方法 3.平方取中法 取关键字平方后的中间几位为哈希地址。取的位数由表长决定。 key key2 H(key) 1101 1212201 212 1102 1214404 214 1200 1440000 440 2031 4124961 124 2134 4553956 553 例: 8.4.2 哈希函数的构造方法 4.折叠法 将关键字分割成位数相同的几部分(最后一部分的位数可不同),然后取这几部分的叠加和(舍去进位)作为哈希地址。 98765 + 4321 103086 H(key)=3086 移位叠加 98765 + 1234 99999 H(key)=9999 间界叠加 例:关键字key=987654321,把它转换为一个4位的散列地址。 常用在关键字位数多,而每一位上数字的分布又基本均匀的情况下。 8.4.2 哈希函数的构造方法 5.除留余数法(*) 取关键字被某个不大于哈希表表长m 的数 p 除后所得 余数 作为哈 希地址。 H(key)=key MOD p 为了尽可能少地发生冲突,通过取p为不大于表长且最接近表 长m的素数, 如表长为1000时,p 取值为997 。 Key H(key)=key MOD 997599543523943 例: 8.4.2 哈希函数的构造方法 6.随机数法 选择一个随机函数,取关键字的随机函数值为它的哈希地址。 H(key)=random(key),random为随机函数。 选取哈希函数时考虑的因素: 1)计算哈希函数所需时间 2)关键字的长度 3)哈希表的大小 4)关键字的分布情况 5)记录的查找频率 8.4.3 冲突的处理方法 选择合适的哈希函数,使用较大的哈希表可减少冲突,但不能避免冲突。 处理冲突:为产生冲突的关键字所在的记录找到一个空的哈希地址Hi。 8.4.3 冲突的处理方法 常用的处理冲突的方法: 1.开放定址法 Hi=(H(key)+di) MOD m 其中,H(key)为哈希函数,m为哈希表表长, di为增量序列。 线性再散列:di=1,2, … ,m-1;简单,但易造成“二次聚集”。 二次探测再散列:di=12,-12 ,22 ,-22 ,…,±k2 k≤ m/2 ;要求表长必须形如4j+3(j=1,2,…)的素数 。 伪随机探测再散列:di=伪随机数序列;需要选择一个伪随机函数产生伪随机数列。 例:关键字序列为{17 60 29 38},哈希表长度为11,哈希函数为H(key)=key MOD 11,用开放地址法处理冲突。 60 17 29 0 1 2 3 4 5 6 7 8 9 10 H1=(5+1)MOD 11=6 H2=(5+2)MOD 11=7 H3=(5+3)MOD 11=8 60 17 29 38 0 1 2 3 4 5 6 7 8 9 10 线性探测再散列法 38 60 17 29 0 1 2 3 4 5 6 7 8 9 10 二次探测再散列法 H1=(5+1)MOD 11=6 H2=(5-1)MOD 11=4 38 60 17 29 0 1 2 3 4 5 6 7 8 9 10 伪随机探测再散列法 H1=(5+9)MOD 11=3 H(38)=5 伪随机序列为9,… 8.4.3 冲突的处理方法 2.再哈希法 Hi=RHi(key) i=1,2,…,k RHi是不同的哈希函数,即在同义词产生地址冲突时计算另一个哈希函数地址,直到冲突不再发生为止。 3.链地址法 将所有关键字同义词的记录存储在同一线性链表中,另用一个数组存储各链表的链头指针。 凡哈希地址为 i 的记录都插入到头指针为ChainHash[i]的链表中。同一同义词链中关键字有序。 例:已知一组关键字为(19 14 23 01 68 20 84 27 55 11 10 79),哈希表长为13,则按哈希函数H(key)=key MOD 13和链地址法处理冲突构造哈希表。 0 1 2 3 4 5 6 7 8 9 10 11 12 ∧ ∧ ∧ ∧ ∧ ∧ ∧ 01 14 27 79 ∧ 55 68 ∧ 19 84 ∧ 20 ∧ 10 23 ∧ 11 ∧ 8.4.3 冲突的处理方法 4.公共溢出区法 另建一个公共溢出区专门用来存放同义词
您可能关注的文档
- 明后期地方士绅与灾蠲――灾荒背景下明代社会的政策诉求概要1.doc
- 明宇广场说辞概要1.doc
- 第8章 压电式传感器概要1.ppt
- 第8章 柴油机电控燃油系统概要1.ppt
- 明代文学综述概要1.ppt
- 第8章 内部排序习题20060705概要1.ppt
- 明堂山隧道进口进洞方案概要1.doc
- 第7课 夸张的脸概要1.ppt
- 明德 邓稼先概要1.ppt
- 明明吃得不多,为啥特容易胖概要1.docx
- 2024年陆川县事业单位联考招聘考试历年真题带答案.docx
- 2024年翼城县事业单位联考招聘考试真题汇编新版.docx
- 2024年荔波县事业单位联考招聘考试真题汇编完美版.docx
- 2025年曲阳县事业单位联考招聘考试真题汇编最新.docx
- 2024年静乐县事业单位联考招聘考试真题汇编新版.docx
- 2025年石柱县事业单位联考招聘考试历年真题新版.docx
- 2024年蓝田县事业单位联考招聘考试真题汇编汇编.docx
- 2025年辽阳县事业单位联考招聘考试真题汇编完美版.docx
- 2026广东深圳市事业单位集中招聘高校毕业生658人笔试参考题库(医疗岗162人)附答案解析.docx
- 2026年益阳职业技术学院单招职业技能测试题库推荐.docx
最近下载
- PVTsim软件模拟包裹体古压力方法的原理.ppt VIP
- 长租公寓市场细分领域分析:2025年租赁模式与盈利前景.docx
- 护理学毕业论文直肠癌患者术后护理.doc VIP
- GB51162-2016 重型结构和设备整体提升技术规范.pdf VIP
- 2025秋统编版小学道德与法治三年级上册教学设计(附目录).docx VIP
- 岛津UVmini-1240使用说明书.pdf VIP
- 上海三菱电梯三菱MAXIEZ Series-CZ(VFGL)电气原理图.pdf VIP
- 2025年陕西服装工程学院单招笔试数学试题库含答案解析.docx VIP
- 2023年合肥168中学面向全省自主招生考试科学素养测试物理试卷.doc VIP
- 热能转换与利用:课件介绍.ppt VIP
原创力文档


文档评论(0)