- 1、本文档共102页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * 0 1 2 3 4 5 6 7 8 9 10 11 22 47 92 16 3 7 29 8 关键码 47 7 29 11 16 92 22 8 3 散列地址 3 7 7 0 5 4 0 8 3 【例6-8】关键码集为:{47,7,29,11,16,92,22,8,3}, 设哈希表表长为11,哈希函数用Hash(key)=key mod 11,用线性探测法处理冲突,构建哈希表。 首先求得各个哈希地址: 线性探测法的平均查找长度:ASL=(5×1+3×2+1×4)/9=5/3 * 【例6-9】关键码集为 {47,7,29,11,16,92,22,8,3},用二次探测法处理冲突,构建哈希表。 0 1 2 3 4 5 6 7 8 9 10 11 22 3 47 92 16 7 29 8 二次探测法的平均查找长度 : ASL=(5×1+3×2+1×3)/9=14/9 * 查找成功的情况: ASL=(1×9+2×5)/14=29/14 0 1 2 ^ 3 4 5 6 7 8 9 ^ 10 3 47 ^ 37 92 ^ 94 50 ^ 29 7 ^ 22 11 ^ 89 ^ 16 ^ 21 ^ 8 ^ 【例6-10】关键码序列为47,7,29,11,16,92,22,8,3,50,37,89, 94,21,哈希函数为 Hash(key)=key mod 11,建散列表。 * 第三个因素:哈希表的装填因子。装填因子是散列表装满程度的标志因子,一般选择在0.65-0.85范围。由于表长是定值,与“填入表中的元素个数”成正比,所以,越大,填入表中的元素较多,产生冲突的可能性就越大;越小,填入表中的元素较少,产生冲突的可能性就越小。 实际上,散列表的平均查找长度是装填因子的函数,只是不同处理冲突的方法有不同的函数。表7-1给出几种不同处理冲突方法的平均查找长度和的关系,可供参考。 * 处理冲突的方法 平均查找长度 查找成功时 查找不成功时 线性探测法 二次探测法 与双哈希法 拉链法 * 6.4.5 散列表上的删除 当在散列表上删除一个元素时,首先是查找,查找成功情况下才能做删除。 对于拉链法解决冲突构造的散列表,其删除等价于单链表上的删除; * (6) 7直接插入。 (7) 76插入,分裂,得图6-21 (f)。 30 69 84 78 t 7 20 25 41 54 71 76 84 93 (8) 51,66直接插入,当插入68后,需分裂,得图6-21 (g)。 (g) (f) 7 20 25 41 51 66 68 71 76 84 93 30 54 69 t 78 * (9) 53,3,79,35直接插入,到12插入时,需分裂,当中间关键码12插入父结点时,又需要分裂,则54上升为新根。 (10)15,65直接插入得图6-21 (h)。 84 7 20 25 41 51 66 68 71 76 84 93 30 54 69 t 78 12 30 54 t 3 7 35 41 51 53 69 78 15 20 25 71 76 79 84 93 65 66 68 (h) (g) * 5. B+树 B+树是应文件系统所需而产生的一种B树的变形树。一棵m阶的B+树和m阶的B树的差异在于: ⑴有n棵子树的结点中含有n个关键码; ⑵所有的叶子结点中包含了全部关键码的信息,及指向含有这些关键码记录的指针,且叶子结点本身依关键码的大小自小而大的顺序链接。 ⑶所有的非终端结点可以看成是索引部分,结点中仅含有其子树根结点中最大(或最小)关键码。 * 68 78 93 20 25 3 7 84 93 35 41 51 53 66 68 71 78 7 25 53 53 93 root sqt 一棵5阶二叉树 例如下图是一棵五阶的B+树,通常在B+树上有两个头指针,一个指向根结点,另一个指向关键码最小的叶子结点 。因此,可以对B+树进行两种查找运算:一种是从最小关键码起顺序查找,另一种是根结点开始,进行随机查找。 * 6.4 散列表查找 散列是一种存储策略,散列表也叫哈希(hash)表、杂凑表,是基于散列存储策略建立的查找表。 * 6.4.1 散列表 哈希表、哈希方法、哈希函数: * 【例6-6】11个元素的查找表其关键码分别为: 18,27,1,20,22,6,10,13,41,15,25 选取关键码与元素位置间的函数为:f(key)=key mod 11 0 1 2
您可能关注的文档
- 第8章典型液压传动系统与设计01-挖掘推土装载双吊等案例.ppt
- 第6章_让动起来画-移动图片的应用案例.ppt
- 第七章电动机10.18案例.ppt
- 第七章电气工程工程量清单计价规范案例.ppt
- 第8章电力拖动控制电路及系统案例.ppt
- 港珠澳大桥外海三塔斜拉桥施工创新工艺及关键技术介绍.ppt
- 第8章对称密码体制案例.ppt
- 电工理论培训(变压器)介绍.ppt
- 第七章电气自动控制案例.ppt
- 电工培训介绍.ppt
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)