当前位置:首页 > 经验 >

红黑树与b+树区别(红黑树解决什么问题)

来源:原点资讯(www.yd166.com)时间:2022-11-14 14:55:20作者:YD166手机阅读>>

B树(B-Tree:多路平衡树)

二叉树,BST,AVL,红黑树这几种数据结构适用于一次性将所有数据全部加载的场景,并且会随着结点的数量的增加,树的深度也会变得很深,树越深查找效率也就会越低。并且对于Mysql这种将数据存储在磁盘上的场景来说,树的深度代表着磁盘的IO次数,对应也就需要更多的时间消耗。所以这几种数据结构并不适合用在Mysql这种类型的数据库应用场景上。

B树的特点(M阶,M>2):

每个结点可以有多个关键字和多个子结点;

每个结点最多允许有M个子树;

非叶子结点的关键字数量为[ceil(M/2),M-1];

B树的特点允许一个结点上保存多个关键字,这样可以结合磁盘的存储特点,B树中的一个结点对应一个磁盘块,可以使得B树的整体高度降低,数据的查找效率变得更高。

红黑树与b+树区别,红黑树解决什么问题(9)

B 树(B Tree)

B+树使得树的高度进一步降低,数据查询效率也比B树进一步提高。主要是进行了一下几个部分的修改:

1. (M阶)非叶子结点允许有最多M个子树和最多M个关键字;

2. 非叶子结点中只包含关键字和指向孩子结点的指针(允许结点中存放更多的关键字);

3. 非叶子结点中的关键字会出现在孩子结点结点中(在孩子结点的起始位置:满足有序性);

4. 数据只保存在叶子结点上,并且叶子之间使用双向链表链接(允许范围查找);

红黑树与b+树区别,红黑树解决什么问题(10)

栏目热文

红黑树和平衡二叉树的优缺点(红黑树为什么是平衡二叉树)

红黑树和平衡二叉树的优缺点(红黑树为什么是平衡二叉树)

1 引言预防针:红黑树本来就是基本算法中的难点,所以看此文时建议先有点预备心理或知识铺垫,没接触过RBT而直接看此文的话...

2022-11-14 14:09:12查看全文 >>

红黑树为什么叫平衡二叉树(详解什么是平衡二叉树)

红黑树为什么叫平衡二叉树(详解什么是平衡二叉树)

前言面试过程中,多多少少会问一点数据结构(二叉树)的问题,今天我们来复习一下二叉树的相关问题,文末总结。1. 二叉树的由...

2022-11-14 14:52:59查看全文 >>

二叉树和红黑树(二叉树和树的关系)

二叉树和红黑树(二叉树和树的关系)

红黑树在工程中的使用,红黑树是平衡树的一种。1. 红黑树顺序的功能2. 快速查找的功能1.二叉树插入1. 如果比当前根节...

2022-11-14 14:17:23查看全文 >>

为什么用红黑树而不是二叉树(红黑树和二叉树优缺点)

为什么用红黑树而不是二叉树(红黑树和二叉树优缺点)

上两节,我们依次讲了树、二叉树、二叉查找树。二叉查找树是最常用的一种二叉树,它支持快速插入、删除、查找操作,各个操作的时...

2022-11-14 14:26:38查看全文 >>

通俗讲红黑二叉树原理(红黑树为什么是平衡二叉树)

通俗讲红黑二叉树原理(红黑树为什么是平衡二叉树)

【51CTO.com原创稿件】 学过数据结构都知道二叉树的概念,而又有多种比较常见的二叉树类型,比如完全二叉树、满二叉树...

2022-11-14 14:42:53查看全文 >>

红黑树的高度和深度区别(红黑树的原理动态图)

红黑树的高度和深度区别(红黑树的原理动态图)

专注于Java领域优质技术,欢迎关注作者:JasonGaoH之前在公司组内分享了红黑树的工作原理,今天把它整理下发出来,...

2022-11-14 14:34:32查看全文 >>

红黑树二叉树的区别(红黑树和平衡二叉树区别)

红黑树二叉树的区别(红黑树和平衡二叉树区别)

很早之前就想写一篇关于红黑树的文章,但是由于担心自己理解的不透彻,就一直不敢下笔。于是在重新看了很多篇文章和资料之后,决...

2022-11-14 14:11:33查看全文 >>

红黑树与平衡二叉树的区别(红黑树平衡树对比)

红黑树与平衡二叉树的区别(红黑树平衡树对比)

红黑树是每个节点都带有颜色属性的二叉查找树,颜色或红色或黑色。简单说就是可用于二分查找的(二叉查找树),且高度是平衡的(...

2022-11-14 14:54:56查看全文 >>

红黑树一定是平衡二叉树吗(红黑树是一个平衡的二叉排序树)

红黑树一定是平衡二叉树吗(红黑树是一个平衡的二叉排序树)

二叉搜索树的局限性 上一节较为详细的介绍了C语言中的二叉搜索树,提到数据采取二叉搜索树的结构存储,可以获得不错的搜索性能...

2022-11-14 14:51:45查看全文 >>

有序树和二叉树的区别(二叉判定树和二叉排序树的区别)

有序树和二叉树的区别(二叉判定树和二叉排序树的区别)

树这些基本的东西必须了解一下!数据结构之树的一些事儿树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据...

2022-11-14 14:19:14查看全文 >>

文档排行