数据库 补充 树,红黑树,b树,b+树

01.树

02.二叉树和二叉平衡树


03.平衡二叉树的恢复

将导致不平衡的结点称作被破坏者 ,破坏了结点的平衡的结点成为破坏者 ,经过调整可以让该树平衡的结点称为调整结点
























LL型:

以被破坏者的左孩子结点作为调整结点,对其进行右旋。如果调整结点有右子树,将其右子树作为被破坏者的左子树。

LR型:

以被破坏者的左孩子的右孩子结点为调整结点。

如果破坏者为调整结点的左孩子,以调整结点进行左旋,将破坏者作为调整结点的父节点的右子树,后进行右旋,破坏者位置保持不变。

如果破坏者为调整结点的右孩子,以调整结点进行左旋,破坏者位置保持不变。后进行右旋,将破坏者作为被破坏者的左子树。

RR型:

以被破坏者的右孩子结点为调整结点,对其进行左旋。如果调整结点有左子树,将其右子树作为被破坏者的右子树。

RL型:

以被破坏者的右孩子的左孩子结点为调整结点。

如果破坏者为调整结点的左孩子,以调整结点进行右旋,破坏者位置保持不变,后进行左旋,将破坏者作为被破坏者的右子树。

如果破坏者为调整结点的右孩子,以调整结点进行右旋,将破坏者作为调整结点的父节点的左子树。后进行左旋,破坏者位置保持不变。


红黑树:

红黑树是一种自平衡的二叉查找树,是一种高效的查找树。

http://t.csdnimg.cn/Gy3MM
最重要的是红黑树的根节点到任意的叶子结点的最短路径都是一样的长度。


B树:(m阶查找树)

节点结构中的

n记录关键字的个数

k是关键字

p是指针

一颗m阶的B树满足如下条件:

  • 每个节点最多只有m个子节点(节点内至多m-1关键字)。
  • 除根节点外,每个非叶子节点具有至少有 m/2(向下取整)个子节点。
  • 非叶子节点的根节点至少有两个子节点。
  • 有k颗子树(k个孩子节点)的非叶节点有k-1个键,键按照递增顺序排列。 叶节点都在同一层中。

(1)什么是B树的阶 ?

B树中一个节点的子节点数目的最大值,用m表示,假如最大值为4,则为4阶,如图,所有节点中,节点[13,16,19]拥有的子节点数目最多,四个子节点(灰色节点),所以可以定义上面的图片为4阶B树。

(2)什么是根节点 ?

节点【10】即为根节点,特征:根节点拥有的子节点数量的上限和内部节点相同,如果根节点不是树中唯一节点的话,至少有俩个子节点(不然就变成单支了)。在m阶B树中(根节点非树中唯一节点),那么有关系式2<= M <=m,M为子节点数量;包含的元素数量 1<= K <=m-1,K为元素数量。

(3)什么是内部节点 ?

节点【13,16,19】、节点【3,6】都为内部节点,特征:内部节点是除叶子节点和根节点之外的所有节点,拥有父节点和子节点。假定m阶B树的内部节点的子节点数量为M,则一定要符合(m/2)<= M <=m关系式,包含元素数量M-1;包含的元素数量 (m/2)-1<= K <=m-1,K为元素数量。m/2向上取整。

(4)什么是叶子节点?

节点【1,2】、节点【11,12】等最后一层都为叶子节点,叶子节点对元素的数量有相同的限制,但是没有子节点,也没有指向子节点的指针。特征:在m阶B树中叶子节点的元素符合(m/2)-1<= K <=m-1。

b树的形成:


b+树:

所有节点都会出现在叶子节点链表中:

叶子节点会形成一个链表。

相关推荐
科技小花7 小时前
全球化深水区,数据治理成为企业出海 “核心竞争力”
大数据·数据库·人工智能·数据治理·数据中台·全球化
X56618 小时前
如何在 Laravel 中正确保存嵌套动态表单数据(主服务与子服务)
jvm·数据库·python
虹科网络安全9 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
2301_771717219 小时前
解决mysql报错:1406, Data too long for column
android·数据库·mysql
小江的记录本10 小时前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
dvjr cloi10 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
dFObBIMmai10 小时前
MySQL主从同步中大事务导致的延迟_如何拆分大事务优化同步
jvm·数据库·python
szccyw010 小时前
mysql如何限制特定存储过程执行权限_MySQL存储过程安全访问
jvm·数据库·python
czlczl2002092510 小时前
利用“延迟关联”优化 MySQL 巨量数据的深分页查询
数据库·mysql
ACP广源盛1392462567311 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑