当前位置:网站首页>多路查找树
多路查找树
2022-06-11 23:37:00 【跑马去追XX】
二叉树与B 树
二叉树的问题分析
二叉树的操作效率较高,但是也存在问题, 请看下面的二叉树
- 二叉树需要加载到内存的,如果二叉树的节点少,没有什么问题,但是如果二叉树的节点很多(比如 1 亿), 就 存在如下问题:
- 问题 1:在构建二叉树时,需要多次进行 i/o 操作(海量数据存在数据库或文件中),节点海量,构建二叉树时, 速度有影响.
- 问题 2:节点海量,也会造成二叉树的高度很大,会降低操作速度.
多叉树
- 在二叉树中,每个节点有数据项,最多有两个子节点。如果允许每个节点可以有更多的数据项和更多的子节点, 就是多叉树(multiway tree)
- 后面我们讲解的 2-3 树,2-3-4 树就是多叉树,多叉树通过重新组织节点,减少树的高度,能对二叉树进行优化。
- 举例说明(下面 2-3 树就是一颗多叉树)

B树的基本介绍
B树通过重新组织节点,降低树的高度,并且减少 i/o 读写次数来提升效率。
- 如图 B树通过重新组织节点, 降低了树的高度.
- 文件系统及数据库系统的设计者利用了磁盘预读原理,将一个节点的大小设为等于一个页(页面大小通常为4k), 这样每个节点只需要一次 I/O就可以完全载入。
- 将树的度M设置为 1024,在 600 亿个元素中最多只需要 4 次 I/O操作就可以读取到想要的元素, B 树(B+)广泛 应用于文件存储系统以及数据库系统中
2-3 树
2-3 树是最简单的 B 树结构, 具有如下特点:
- 2-3 树的所有叶子节点都在同一层.(只要是 B 树都满足这个条件)
- 有两个子节点的节点叫二节点,二节点要么没有子节点,要么有两个子节点.
- 有三个子节点的节点叫三节点,三节点要么没有子节点,要么有三个子节点.
- 2-3 树是由二节点和三节点构成的树。
2-3 树应用案例
将数列{16, 24, 12, 32, 14, 26, 34, 10, 8, 28, 38, 20} 构建成 2-3 树,并保证数据插入的大小顺序。(演示一下构建 2-3 树的过程.)
插入规则:
- 2-3 树的所有叶子节点都在同一层.(只要是 B 树都满足这个条件)
- 有两个子节点的节点叫二节点,二节点要么没有子节点,要么有两个子节点.
- 有三个子节点的节点叫三节点,三节点要么没有子节点,要么有三个子节点
- 当按照规则插入一个数到某个节点时,不能满足上面三个要求,就需要拆,先向上拆,如果上层满,则拆本层, 拆后仍然需要满足上面 3 个条件。
- 对于三节点的子树的值大小仍然遵守(BST 二叉排序树)的规则
其它说明
除了 23 树,还有 234 树等,概念和 23 树类似,也是一种 B树。 如图:
B 树、B+树和 B*树
B树的介绍
B-tree 树即 B 树,B 即 Balanced,平衡的意思。有人把 B-tree 翻译成 B-树,容易让人产生误解。会以为 B-树是一种树,而 B树又是另一种树。实际上,B-tree 就是指的 B 树。
前面已经介绍了 2-3 树和 2-3-4 树,他们就是 B 树(英语:B-tree 也写成 B-树),这里我们再做一个说明,我们在学 习Mysql 时,经常听到说某种类型的索引是基于 B 树或者 B+树的,如图:
对上图的说明:
- B树的阶:节点的最多子节点个数。比如 2-3 树的阶是 3,2-3-4 树的阶是 4
- B-树的搜索,从根结点开始,对结点内的关键字(有序)序列进行二分查找,如果命中则结束,否则进入查询 关键字所属范围的儿子结点;重复,直到所对应的儿子指针为空,或已经是叶子结点
- 关键字集合分布在整颗树中, 即叶子节点和非叶子节点都存放数据.
- 搜索有可能在非叶子结点结束
- 其搜索性能等价于在关键字全集内做一次二分查找
B+树的介绍
B+树是 B树的变体,也是一种多路搜索树。
对上图的说明:
- B+树的搜索与 B树也基本相同,区别是 B+树只有达到叶子结点才命中(B 树可以在非叶子结点命中),其性 能也等价于在关键字全集做一次二分查找
- 所有关键字都出现在叶子结点的链表中(即数据只能在叶子节点【也叫稠密索引】),且链表中的关键字(数据) 恰好是有序的。
- 不可能在非叶子结点命中
- 非叶子结点相当于是叶子结点的索引(稀疏索引),叶子结点相当于是存储(关键字)数据的数据层
- 更适合文件索引系统
- B树和 B+树各有自己的应用场景,不能说 B+树完全比 B 树好,反之亦然.
B*树的介绍
B树是 B+树的变体,在 B+树的非根和非叶子结点再增加指向兄弟的指针。
B树的说明:
- B*树定义了非叶子结点关键字个数至少为(2/3)*M,即块的最低使用率为 2/3,而 B+树的块的最低使用率为的 1/2。
- 从第 1 个特点我们可以看出,B*树分配新结点的概率比 B+树要低,空间使用率更高
边栏推荐
- 2022年安全员-A证考题模拟考试平台操作
- require. context
- JS common method collection
- Stack (C language)
- QR code
- Lake Shore VNF 系列低温恒温器系统——流动蒸汽中的样品
- [day6-7 intensive literature reading] a unifying Bayesian framework accounting for spatiotemporal interactions with a
- Jetpack architecture component learning (3) -- activity results API usage
- Unity3d C # development of wechat games audio / sound playback problem solving process sharing
- 唤醒手腕 - 神经网络与深度学习(Tensorflow应用)更新中
猜你喜欢

Are you still struggling with the gold content of PMP

Lake Shore—SuperTran 连续流低温恒温器系统

Application of Lora wireless communication module Lora technology in smart home light control

2022 safety officer-a certificate test question simulation test platform operation

HMS core shows the latest open capabilities in mwc2022, helping developers build high-quality applications

Lake Shore - supertran VP continuous flow cryogenic thermostat system

Jetpack architecture component learning (3) -- activity results API usage

CVPR 2022 | meta learning performance in image regression task

sonarqube介紹和安裝步驟

Implementation scheme of iteration and combination pattern for general tree structure
随机推荐
loading
显示商品详情【项目 商城】
How to completely modify the user name in win10 system and win11 system
Zigbee3.0 wireless packet capturing installation method based on e18-2g4u04b
Are you still struggling with the gold content of PMP
MySQL 8.0 解压版安装教程
唤醒手腕 - 神经网络与深度学习(Tensorflow应用)更新中
[day1/5 literature intensive reading] speed constancy or only slowness: what drives the kappa effect
我的创作纪念日
Leetcode must review 20 lintcode (5466421166978227)
A new product with advanced product power, the new third generation Roewe rx5 blind subscription is opened
Lake Shore—SuperTran 连续流低温恒温器系统
Method for debugging wireless data packet capturing of Internet of things zigbee3.0 protocol e18-2g4u04b module
一文读懂Logstash原理
oracle中dblink操作
(linear DP | monotone queue) acwing 895 Longest ascending subsequence
Lake Shore - supervaritemp low temperature thermostat
Solr之基礎講解入門
Antigen products enter the family, and Chinese medical device enterprises usher in a new blue ocean
sonarqube介紹和安裝步驟
