当前课程知识点:数据结构(下) > 第八章 高级搜索树(上) > (b2)B-树:结构 > 08B2-2 多路平衡
正如我们已经看到的
B树的设计者将其定义为一种平衡的多路搜索树
这样一种多路的搜索树
与我们此前所熟知的二路搜索树在本质上讲 其实是等价的
如果我们将多路搜索树中的每一个节点称作超级节点的话
那么每一个超级节点都可以认为是
由若干个二路节点经过适当的合并以后得到的
来看这样一个实例
如果我们忽略掉这些方框
不难看出这其实就是一棵二叉搜索树的局部
现在我们两层两层的来考察其中的这些节点
具体来说 每一个节点以及它的左和右孩子
如果我们将每一组这样的父子三个节点合并成一个超级节点
那么整棵树就可以等价的变换为这样一种形式
具体的 原先的父节点居中
原先的孩子则经过提升与之并行的列于左右
这种节点的确可以称作是超级节点
因为其中不再只含有一个关键码 而是多个
就这个例子而言 每个超级节点都含有3个关键码
同时相应的也就拥有4个分支
可以看到 如此每两代两代的合并之后
每个节点都将拥有3个关键码 以及4个分支
推而广之 我们也可能每3代的合并起来
从而使得每个超级节点里含有7个关键码以及8路分支
一般的 如果每d代都进行一次合并
那么每个超级节点都将拥有2的d次方路分支
以及相应再减少1个单位的关键码
同样的 这里依然存在一个问题
既然我们已经看到 这种多路的搜索树
与我们此前的二路搜索树 并没有本质的区别
那么为什么还要引入B树呢
这依然是我们需要回答的一个问题
-选课之前
--写在选课之前
--宣传片
-考核方式
--考核方式
-OJ系统说明
--关于OJ
--1-注册与登录
--2-界面与选课
--3-提交测试
-关于课程教材与讲义
--课程教材与讲义
-关于讨论区
--关于讨论区
-微信平台
--html
-PA晋级申请
--PA晋级
-(a)概述
--07A-1 纵览
--07A-5 接口
-(a)概述--作业
-(b1)BST:查找
-第七章 二叉搜索树--(b1)BST:查找
-(b2)BST:插入
-(b2)BST:插入--作业
-(b3)BST:删除
-第七章 二叉搜索树--(b3)BST:删除
-(c)平衡与等价
-(c)平衡与等价--作业
-(d1)AVL树:重平衡
-第七章 二叉搜索树--(d1)AVL树:重平衡
-(d2)AVL树:插入
-(d2)AVL树:插入--作业
-(d3)AVL树:删除
-(d3)AVL树:删除--作业
-(d4)AVL树:(3+4)-重构
-(d4)AVL树:(3+4)-重构--作业
-本章测验
--章节测验
-(a1)伸展树:逐层伸展
--习题
-(a2)伸展树:双层伸展
--习题
-(a3)伸展树:算法实现
--习题
-(b1)B-树:动机
--习题
-(b2)B-树:结构
--习题
-(b3)B-树:查找
--习题
-(b4)B-树: 插入
--习题
-(b5)B-树: 删除
--习题
-(xa1)红黑树:动机
--习题
-(xa2)红黑树:结构
--习题
-(xa3)红黑树:插入
--习题
-(xa4)红黑树:删除
-本章测验
--习题
-(b)散列:原理
--09B-3 数组
--09B-4 原理
--09B-5 散列
--09B-6 冲突
--习题
-(c)散列:散列函数
--习题
-(d1)散列:排解冲突(1)
--习题
-(d2)散列:排解冲突(2)
--习题
-(e)桶/计数排序
--习题
-本章测验
--本章测试
-(a1)需求与动机
--习题
-(a2)基本实现
--习题
-(b1)完全二叉堆:结构
--习题
-(b2)完全二叉堆:插入与上滤
--习题
-(b3)完全二叉堆:删除与下滤
--习题
-(b4)完全二叉堆:批量建堆
--习题
-(c)堆排序
--习题
-(xa1)左式堆:结构
--习题
-(xa2)左式堆:合并
--习题
-(xa3)左式堆:插入与删除
-本章测验
--本章测试
-(a)ADT
--习题
-(b1)串匹配
--习题
-(b2)蛮力匹配
--习题
-(c1)KMP算法:从记忆力到预知力
--习题
-(c2)KMP算法:查询表
--习题
-(c3)KMP算法:理解next[]表
--习题
-(c4)KMP算法:构造next[]表
--习题
-(c5)KMP算法:分摊分析
--习题
-(c6)KMP算法:再改进
-(d1)BM_BC算法:以终为始
-(d2)BM_BC算法:坏字符
-(d3)BM_BC算法:构造bc[]
-(d4)BM_BC算法:性能分析
-(e1)BM_GS算法:好后缀
-(e2)BM_GS算法:构造gs表
-(e3)BM_GS算法:综合性能
-(f1)Karp-Rabin算法:串即是数
-(f2)Karp-Rabin算法:散列
-本章测验
--本章测试
-(a1)快速排序:算法A
-- 12a1-5: 实例
--习题
-(a2)快速排序:性能分析
--习题
-(a4)快速排序:变种
-(b1)选取:众数
-(b3)选取:通用算法
--习题
-(c1) 希尔排序:Shell序列
--习题
-(c2)希尔排序:逆序对
-本章测验
--本章测试