美文网首页
【我是一棵树】B树、B+树

【我是一棵树】B树、B+树

作者: 齐鑫 | 来源:发表于2020-02-01 11:21 被阅读0次

原文出处:https://blog.csdn.net/qixinbruce/article/details/104130416

多路查找树(B树)

其每个节点的孩子数可以多于两个,且每一个节点处可以存储多个元素。

2-3树

其中每个节点都具有两个孩子(我们称它为2节点)或者3个孩子(3节点)。

2-3-4树

就是2-3树点的扩展,包括了4个节点的使用

B树

是一种平衡的多路查找树,节点最大的孩子数目称为B树的阶。

属性

1、如果根节点不是叶节点,则起至少有两棵子树。

2、每一个非根的分支节点都有k-1个元素和k个孩子,其中【m/2】<=k<=m(【x】为向下取整),每一个叶子节点n都有k-1个元素

3、所有叶子节点都位于统一层次。

4、所有分支节点包含下列信息数据,(A0K1,A1K2,...KmAn),其中Ki为关键字,且Ki<K(i+1);Ai为指向子树根节点的指针,且指针A(i-1)所指子树中所有节点的关键字均小于Ki,An所指子树中所有节点的关键字均大于Kn。

B+树定义

B+树已经不是严格意义上的树了,在B树中每个元素只能出现一次,B+树中出现在分支节点的元素会被当做他们在该分支节点位置的中序后继者(叶子节点)中再次列出。另外,每个叶子节点都会保存一个指向后一叶子节点的指针。

B树和B+树的差异

1、有n棵子树的节点中包含有n个关键字

2、所有叶子节点包含全部关键字信息及向含这些关键字记录的指针,叶子节点本身依关键字点的大小字小而大顺序链接。

所有分支接二店可以看成是索引,节点中仅含其子树中最大(或最小)的关键字。

B+树的好处

如果是要随机查找,我们就从根节点出发,与B树查找方式相同,不过即使在分支节点找到了待查找的关键字,它也知识用来索引的,不能提供实际记录的访问,还是需要到达包含次关键字的中断节点。

如果我们是需要以最小关键字进行从小到达的顺序查找,我们就可以从最左侧的叶子节点出发,不经过分支节点,而是沿着指向下一叶子的指针就可以遍历所有关键字

B+树的结构特别适合带有范围的查找。

相关文章

  • B树、B+树、B*树

    1)什么是B树、B+树、B树?2)B树、B+树、B树的作用?3)B树、B+树、B*树的应用场景? 一、什么是B树、...

  • mysql 浅析

    索引的结构 B+树 二叉查找树、平衡二叉树 、B树、 B+树 B树: B+树: B+树中各个页之间是通过双向链表连...

  • Innodb引擎B+树概览

    三个层级概念 B+树>>>数据页>>>User Record innodb引擎B+树概览 一个索引即为一棵树 in...

  • 聊一聊B+树

    标签: 图解B+树 | B+树代码|mysql 聚集索引|mysql B+树索引| 前言   虽然B+是B-演化过...

  • B+树

    B+树概况 InnoDB使用了B+树索引模型 每个索引在InnoDB里面对应一棵B+树 B+树特点 m阶B+树每个...

  • MySQL索引的底层数据结构

    前言 一、索引类型 B+树 为什么是B+树而不是B树? 首先看看B树和B+树在结构上的区别 可以看到: B树在每个...

  • 树-二叉搜索树-平衡二叉树-红黑树-B树B+树

    关于树的总结从二叉树->二叉搜索树->平衡二叉树->红黑树->B树与B+树 B+树介绍 B树、B-树、B+树、B*...

  • 【我是一棵树】B树、B+树

    原文出处:https://blog.csdn.net/qixinbruce/article/details/104...

  • MySQL B+树介绍

    MySQL B+树介绍 B+树的演变 二叉树 --> 二叉查找树 --> 平衡二叉树 --> B树 --> B+树...

  • MYSQL的索引与B+Tree

    MySQL 索引与 B+ 树 B+ 树 MySQL Innodb 存储引擎是使用 B+ 树来组织索引的。在介绍 B...

网友评论

      本文标题:【我是一棵树】B树、B+树

      本文链接:https://www.haomeiwen.com/subject/rjwtxhtx.html