- 1、本文档共88页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * Ord表示字母在字母表中的位置 将H0加上一个增量di之后再与地址空间的长度取模。 * 01 10 15 44 53 63 15 39 63 24 39 68 72 74 88 90 72 90 72 90 B+树的删除 B+ 树的删除仅在叶结点上进行。当在叶结点上删除一个(关键字-指针)索引项后,结点中的索引项个数仍然不少于 ?m/2?,这属于简单删除,其上层索引可以不改变。 如果删除结点的最大关键字,但因在其上层的副本只起了一个引导搜索的“分界关键字”的作用,所以即使树中已经删除了关键字,但上层的副本仍然可以保留。 如果在叶结点中删除后,结点中索引项个数小于 ?m/2?,必须做结点的调整或合并工作。 从4阶B+树中做简单删除 m = 4 10 15 18 22 27 34 40 44 47 54 67 72 74 78 81 84 15 34 47 67 78 84 67 84 ? 简单删除关键字47, 上层索引可以不改 10 15 18 22 27 34 40 44 54 67 72 74 78 81 84 15 34 47 67 78 84 67 84 从4阶B+树中删除时的调整 m = 4 10 15 18 22 27 34 40 44 47 54 67 72 74 78 81 84 15 34 47 67 78 84 67 84 ? 删除关键字15, 调整 上层索引改变 10 18 22 27 34 40 44 47 54 67 72 74 78 81 84 18 34 47 67 78 84 67 84 如果右兄弟结点的关键字数已达到下限 ?m/2?,没有多余的关键字可以移入被删关键字所在的结点,必须进行结点的合并。将右兄弟结点中的所有(关键字-指针)索引项移入被删关键字所在结点,再将右兄弟结点删去。 这种结点合并将导致双亲结点中“分界关键字”的减少,有可能减到非叶结点中关键字个数的下限 ?m/2? 以下。这样将引起双亲结点的调整或合并。 删除关键字74, 78, A,B结点合并 10 18 22 27 34 40 44 47 54 67 72 74 78 81 84 18 34 47 67 78 84 67 84 10 18 22 27 34 40 44 47 54 67 72 81 84 18 34 47 67 84 47 84 A B C D 散列 (Hashing) 散列方法在表项存储位置与其关键字之间建立一个确定的对应函数关系Hash( ),使每个关键字与结构中一个唯一存储位置相对应: Address = Hash ( Rec.key ) 在查找时, 先对表项的关键字进行函数计算,把函数值当做表项的存储位置, 在结构中按此位置取表项比较。若关键字相等, 则查找成功。在存放表项时, 依相同函数计算存储位置, 并按此位置存放。这种方法就是散列方法。 在散列方法中使用的转换函数叫做散列函数。按此方法构造出来的表或结构就叫做散列表。 {Zhao, Qian, Sun, Li, Wu, Chen, Han, Ye, Dei} 例如:对于如下 9 个关键字 设 哈希函数 f(key) = ?(Ord(第一个字母) -Ord(A)+1)/2? Chen Zhao Qian Sun Li Wu Han Ye Dei 问题: 若添加关键字 Zhou , 怎么办? 1) 哈希函数是一个映象,即: 将关键字的集合映射到某个地址集合上, 它的设置很灵活,只要这个地址集合的 大小不超出允许范围即可; 从这个例子可见, 2) 由于哈希函数是一个压缩映象,因此,在一般情况下,很容易产生“冲突”现象,即: key1? key2,而 f(key1) = f(key2)。产生冲突的关键字叫同义词 3) 很难找到一个不产生冲突的哈希函数。这是因为: 在设计查找表时,只可能知道关键字所属范围,而不知道确切的关键字。 一般情况下,只能选择恰当的哈希函数,使冲突尽可能少地产生。 因此,在构造这种特殊的“查找表” 时,除了需要选择一个“好”(尽可能少产生冲突)的哈希函数之外;还需要找到一种“处理冲突” 的方法。 散列函数 构造散列函数时的几点要求: 散列函数应是简单的,能在较短的时间内计 算出结果。 散列函数的定义域必须包括需要存储的全部 关键字, 如果散列表允许有 m 个地址时,其 值域必须在 0 到 m-1 之间。 散列函数计算出来的地址应能均匀分布在整个地址空间中 。 构造哈希函数的常用方法 对数字的关键字
您可能关注的文档
最近下载
- 一种检测磷酸铁锂粉末中磁性金属异物及磷化铁含量的方法.pdf VIP
- 2023年华为公司招聘职位要求.pdf
- 三年级心理健康第1-16课全册教案.pdf
- 2021面瘫的针灸治疗测试题【附答案】.doc
- IATF16949第五版DFMEA管理程序+潜在失效模式及后果分析程序.doc
- 智慧城市大数据平台设计方案.pdf VIP
- 匹兹堡睡眠质量指数(PSQI)表格版-打印保健养生.docx
- 林木林地权属争议处理申请书(样本).pptx
- 手机销售网站的设计与实现.doc VIP
- 河南省图集 12YN6、12YN7、12YN9 热力工程、民用建筑空调与供暖冷热计量设计与安装 DBJT19-07-2012.docx
文档评论(0)