0

漫画:什么是B-树?

 3 years ago
source link: https://www.cxyxiaowu.com/3656.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
漫画:什么是B-树?-五分钟学算法
当前位置:五分钟学算法 > 算法 > 漫画算法 > 漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

————————————

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

————————————

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

二叉查找树的结构:

漫画:什么是B-树?

第1次磁盘IO:

漫画:什么是B-树?

第2次磁盘IO:

漫画:什么是B-树?

第3次磁盘IO:

漫画:什么是B-树?

第4次磁盘IO:

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

下面来具体介绍一下B-树(Balance Tree),一个m阶的B树具有如下几个特征:

1.根结点至少有两个子女。

2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m

3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m

4.所有的叶子结点都位于同一层。

5.每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域分划。

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

第1次磁盘IO:

漫画:什么是B-树?

在内存中定位(和9比较):

漫画:什么是B-树?

第2次磁盘IO:

漫画:什么是B-树?

在内存中定位(和2,6比较):

漫画:什么是B-树?

第3次磁盘IO:

漫画:什么是B-树?

在内存中定位(和3,5比较):

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

自顶向下查找4的节点位置,发现4应当插入到节点元素3,5之间。

漫画:什么是B-树?

节点3,5已经是两元素节点,无法再增加。父亲节点 2, 6 也是两元素节点,也无法再增加。根节点9是单元素节点,可以升级为两元素节点。于是拆分节点3,5与节点2,6,让根节点9升级为两元素节点4,9。节点6独立为根节点的第二个孩子。

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

自顶向下查找元素11的节点位置。

漫画:什么是B-树?

删除11后,节点12只有一个孩子,不符合B树规范。因此找出12,13,15三个节点的中位数13,取代节点12,而节点12自身下移成为第一个孩子。(这个过程称为左旋

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

漫画:什么是B-树?

—————END—————

喜欢本文的朋友们,欢迎长按下图关注订阅号梦见,收看更多精彩内容

漫画:什么是B-树?

原文始发于微信公众号(程序员小灰):漫画:什么是B-树?

我还会在以下平台发布内容

GitHub 知乎
@五分钟学算法 粤ICP备19028366号

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK