版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社专题专题3:树形索引技术:树形索引技术1223树树B树树3B树树数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社9.3 树形索引树形索引2 3 树树2- -3树:树:是具有下列特性的树:是具有下列特性的树: 一个结点包含一个结点包含1个个或者或者2个个关键码。关键码。 每个内部结点有每个内部结点有2个个子女(包含一个关键码)或者子女(包含一个关键码)或者3个个子女(包含两个关键码)。子女(包含两个关键码)。 所有叶子结点都在树的所有叶子结点都在树的同一层同一层。数据结构(数据结构(C+版)第版)第2版版
2、清华大学出版社清华大学出版社9.3 树形索引树形索引2 3 树示例树示例18 331223 3048101520 21243145 4750 52形状上有什么特性形状上有什么特性?包含包含1个个或者或者2个个关键码;关键码;有有2个个子女或者子女或者3个个子女;子女;叶子结点在叶子结点在同一层同一层。数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社9.3 树形索引树形索引2 3 树示例树示例结点的值有什么特性结点的值有什么特性?18 331223 3048101520 21243145 4750 52左子树左子树所有结点的值均小于第一个关键码的值;所有结点的值均小于第一个
3、关键码的值;中间子树中间子树所有结点的值均大于第一个关键码的值,且小于第所有结点的值均大于第一个关键码的值,且小于第二个关键码的值;二个关键码的值;右子树右子树所有结点的值均大于第二个关键码的值。所有结点的值均大于第二个关键码的值。数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社18 331223 3048101520 21243145 4750 529.3 树形索引树形索引2 3 树树查找操作查找操作211821332123比较次数不超过树的深度。比较次数不超过树的深度。由于由于2-3树是树高平衡的,而且每一个内部结点至少树是树高平衡的,而且每一个内部结点至少有有2个子
4、女,所以树的最大深度是个子女,所以树的最大深度是 。 1log2+ +n数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社9.3 树形索引树形索引2 3 树树插入操作插入操作新记录将插入到相应的新记录将插入到相应的叶子叶子结点中。结点中。18 331223 3048101520 21243145 4750 52叶子结点只包含叶子结点只包含1个记录个记录插入新记录插入新记录 14数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社9.3 树形索引树形索引2 3 树树插入操作插入操作新记录将插入到相应的新记录将插入到相应的叶子叶子结点中。结点中。叶子结点只包含
5、叶子结点只包含1个记录个记录插入新记录插入新记录 18 331223 30481020 21243145 4750 5214 15数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社9.3 树形索引树形索引2 3 树树插入操作插入操作新记录将插入到相应的新记录将插入到相应的叶子叶子结点中。结点中。18 331223 3048101520 21243145 4750 52叶子结点只包含叶子结点只包含2个记录个记录插入新记录,分裂提升插入新记录,分裂提升 55数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社9.3 树形索引树形索引2 3 树树插入操作插入操作
6、新记录将插入到相应的新记录将插入到相应的叶子叶子结点中。结点中。18 331223 3048101520 21243145 4750 52 55叶子结点只包含叶子结点只包含2个记录个记录插入新记录,分裂提升插入新记录,分裂提升 插入插入数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社9.3 树形索引树形索引2 3 树树插入操作插入操作新记录将插入到相应的新记录将插入到相应的叶子叶子结点中。结点中。18 331223 3048101520 21243145 47叶子结点只包含叶子结点只包含2个记录个记录插入新记录,分裂提升插入新记录,分裂提升 分裂分裂505552数据结构(
7、数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社9.3 树形索引树形索引2 3 树树插入操作插入操作新记录将插入到相应的新记录将插入到相应的叶子叶子结点中。结点中。18 331223 30101520 21243145 47叶子结点只包含叶子结点只包含2个记录个记录插入新记录,分裂提升插入新记录,分裂提升 提升提升505548 52数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社18 331223 3048101520 21243145 4750 529.3 树形索引树形索引2 3 树树删除操作删除操作情况情况1:从包含:从包含2个记录的叶子结点删除个记录的叶
8、子结点删除1个记录。个记录。 解决方法:直接删除这个记录。解决方法:直接删除这个记录。 数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社18 331223 30481015243145 4750 529.3 树形索引树形索引2 3 树树删除操作删除操作情况情况1:从包含:从包含2个记录的叶子结点删除个记录的叶子结点删除1个记录。个记录。 解决方法:直接删除这个记录。解决方法:直接删除这个记录。 21数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社18 331223 3048101520 21243145 4750 529.3 树形索引树形索引2 3
9、树树删除操作删除操作情况情况2:从包含:从包含1个记录的叶子结点中删除这个记录。个记录的叶子结点中删除这个记录。 解决方法:向兄弟结点借一个记录,同时修改双亲解决方法:向兄弟结点借一个记录,同时修改双亲结点的记录。结点的记录。 数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社18 331221 3048101520233145 4750 529.3 树形索引树形索引2 3 树树删除操作删除操作情况情况2:从包含:从包含1个记录的叶子结点中删除这个记录。个记录的叶子结点中删除这个记录。 解决方法:向兄弟结点借一个记录,同时修改双亲解决方法:向兄弟结点借一个记录,同时修改双亲
10、结点的记录。结点的记录。 数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社18 331221 3048101520233145 4750 529.3 树形索引树形索引2 3 树树删除操作删除操作情况情况2:从包含:从包含1个记录的叶子结点中删除这个记录。个记录的叶子结点中删除这个记录。 解决方法:兄弟结点不够借,需要合并相邻结点,解决方法:兄弟结点不够借,需要合并相邻结点,并影响双亲结点。并影响双亲结点。数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社18 331220 21481015303145 4750 529.3 树形索引树形索引2 3 树树
11、删除操作删除操作情况情况2:从包含:从包含1个记录的叶子结点中删除这个记录。个记录的叶子结点中删除这个记录。 解决方法:兄弟结点不够借,需要合并相邻结点,解决方法:兄弟结点不够借,需要合并相邻结点,并影响双亲结点。并影响双亲结点。数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社18 331220 21481015303145 4750 529.3 树形索引树形索引2 3 树树删除操作删除操作情况情况2:从包含:从包含1个记录的叶子结点中删除这个记录。个记录的叶子结点中删除这个记录。 解决方法:兄弟结点不够借,需要合并相邻结点,解决方法:兄弟结点不够借,需要合并相邻结点,并
12、影响双亲结点,并影响双亲结点,合并操作可能影响祖先结点合并操作可能影响祖先结点。数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社20 2148333145 4750 529.3 树形索引树形索引2 3 树树删除操作删除操作情况情况2:从包含:从包含1个记录的叶子结点中删除这个记录。个记录的叶子结点中删除这个记录。 10 1218 30解决方法:兄弟结点不够借,需要合并相邻结点,解决方法:兄弟结点不够借,需要合并相邻结点,并影响双亲结点,并影响双亲结点,合并操作可能影响祖先结点合并操作可能影响祖先结点。数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社4
13、8333045 4750 529.3 树形索引树形索引2 3 树树删除操作删除操作情况情况2:从包含:从包含1个记录的叶子结点中删除这个记录。个记录的叶子结点中删除这个记录。 解决方法:兄弟结点不够借,需要合并相邻结点,解决方法:兄弟结点不够借,需要合并相邻结点,并影响双亲结点,这可能并影响双亲结点,这可能减少树的高度减少树的高度。2520数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社9.3 树形索引树形索引2 3 树树删除操作删除操作情况情况2:从包含:从包含1个记录的叶子结点中删除这个记录。个记录的叶子结点中删除这个记录。 解决方法:兄弟结点不够借,需要合并相邻结点
14、,解决方法:兄弟结点不够借,需要合并相邻结点,并影响双亲结点,这可能并影响双亲结点,这可能减少树的高度减少树的高度。45 4750 5233 4820 252-3树的优点:能够以相对较低的代价保持树高平衡。树的优点:能够以相对较低的代价保持树高平衡。 数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社9.3 树形索引树形索引2 3 树树删除操作删除操作情况情况3:从内部结点删除一个记录。:从内部结点删除一个记录。 解决方法:将被删除记录用解决方法:将被删除记录用右边子树右边子树中的中的最小最小关键码关键码Y代替(代替( Y一定在某个叶子结点中),然后再删除一定在某个叶子结点
15、中),然后再删除Y。18 331223 3048101520 21243145 4750 52数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社9.3 树形索引树形索引2 3 树树删除操作删除操作情况情况3:从内部结点删除一个记录。:从内部结点删除一个记录。 解决方法:将被删除记录用解决方法:将被删除记录用右边子树右边子树中的中的最小最小关键码关键码Y代替(代替( Y一定在某个叶子结点中),然后再删除一定在某个叶子结点中),然后再删除Y。20 331223 3048101521243145 4750 52数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社
16、B树树9.3 树形索引树形索引m阶阶B树:树:是满足下列特性的树:是满足下列特性的树: 所有叶子结点都在同一层上,并且不带信息,叶子所有叶子结点都在同一层上,并且不带信息,叶子的双亲称为终端结点。的双亲称为终端结点。 树中每个结点至多有树中每个结点至多有m棵子树;棵子树; 若根结点不是终端结点,则至少有两棵子树;若根结点不是终端结点,则至少有两棵子树; 除根结点外,其他非终端结点至少有除根结点外,其他非终端结点至少有 m/2 棵子树;棵子树;B树是树是23树的推广,树的推广,23树是一个树是一个3阶的阶的B树树 。数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社所有非终端
17、结点都包含以下数据:所有非终端结点都包含以下数据: (n,A0,K1,A1,K2,Kn,An)其中,其中,n( m/2 1nm 1)为为关键码的个数;关键码的个数;Ki(1in)为关键码,且为关键码,且KiKi+1(1in-1);Ai(0in)为指向子树根结点的指针,且指针为指向子树根结点的指针,且指针Ai所指所指子树中所有结点的关键码均小于子树中所有结点的关键码均小于Ki+1大于大于Ki。B树树9.3 树形索引树形索引数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社1 181 111 271 393 47 53 641 99FFFFFFFFFFFF2 43 781 35
18、9.3 树形索引树形索引B树示例树示例叶子结点叶子结点查找失败的结点查找失败的结点终端结点终端结点在同一层上在同一层上外结点外结点指针指针包含其子女结点的块号包含其子女结点的块号数据结构(数据结构(C+版)第版)第2版版清华大学出版社清华大学出版社B+树树m阶阶B树:树:是满足下列特性的树:是满足下列特性的树: 含有含有m个关键码,每一个关键码对应一棵子树。个关键码,每一个关键码对应一棵子树。 关键码关键码Ki是它所对应的子树的根结点中的最大(或是它所对应的子树的根结点中的最大(或最小)关键码。最小)关键码。 所有终端结点中包含了全部关键码信息,以及指向所有终端结点中包含了全部关键码信息,以及指向关键码记录的指针。关键码记录的指针。 所有终端结点按关键码的大小链在一起,形成单链所有终端结点按关键码的大小链在一起,形成单链表,并设置头指针。表,并设置头指针。 9.3 树形索引树形索引数据结构(数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年离异财产分割与子女抚养协议
- 2025年美食节活动餐饮赞助合作协议3篇
- 2024年预售商品房合同
- 专业会议服务协议模板细则版
- 2024年物流服务合同标的及权利义务
- 郑州信息工程职业学院《果树学》2023-2024学年第一学期期末试卷
- 村集体财务知识培训课件
- 2025年度美容SPA行业资源整合与推广合同3篇
- 专业劳务中介合同模板2024年适用版B版
- 医疗保健话务员总结
- 2024年《工会法》知识竞赛题库及答案
- 《中国血脂管理指南》考试复习题库(含答案)
- 人教版道德与法治八年级上册2.1网络改变世界课件
- 外研版小学英语(三起点)六年级上册期末测试题及答案(共3套)
- 中医诊疗规范
- 工业互联网平台 安全生产数字化管理 第2部分:石化化工行业 编制说明
- 第14课《叶圣陶先生二三事》导学案 统编版语文七年级下册
- 成人手术后疼痛评估与护理-中华护理学会团体标准2023 2
- DB15-T 3585-2024 高标准农田施工质量评定规程
- 北师大版八年级上册数学期中综合测试卷(含答案解析)
- 天津滨海新区2025届数学七年级第一学期期末学业质量监测模拟试题含解析
评论
0/150
提交评论